Win32API質問箱 Build ..
388:デフォルトの名無しさん
07/09/21 11:27:30
サロゲートペアのことは書いてないようだけど
389:デフォルトの名無しさん
07/09/21 11:28:24
>>388
「WCHARの長さ」って書いてあるやん
390:デフォルトの名無しさん
07/09/21 12:54:30
早く全面的にUTF32に汁
391:デフォルトの名無しさん
07/09/21 13:39:30
キーボードで入力されたキーコードとシフト状態を元に、文字を作成する関数って
ToAscii
ToAsciiEx
ToUnicode
ToUnicodeEx
上記以外に無いのでしょうか?あれば教えていただきたいです。
宜しくお願い致します。
392:デフォルトの名無しさん
07/09/21 13:58:43
>>381 ShowOwnedPopupsは ? (試してないけど)
386関連。EM_LIMITTEXT/EM_SETLIMITTEXTはどーなってますか
393:392
07/09/21 15:46:57
ShowOwnedPopupsは忘れてください
394:デフォルトの名無しさん
07/09/21 17:08:10
DLLを自分で作って使ってみたいと思い挑戦しているのですが
どーしてもわからないっす。
VC2005Expressを使用してDll projectでDllをビルド
LoadLibraryで読み込む←成功
先にtypedef int (*DLLFUNC)(int, int) ;と宣言しておき
DLLFUNC Add ;
Add = (DLLFUNC)GetProcAddress(hDll, "Add") ;
↑でNULLが帰ってきて「指定されたプロシージャが見つかりません」って出てます。
DLLのソースは
#include <windows.h>
int WINAPI DllMain(HINSTANCE hInstance , DWORD fdwReason , PVOID pvReserved) {
return TRUE;
}
__declspec (dllexport) int Add(int nValue1 , int nValue2)
{
return (nValue1 + nValue2) ;
}
です。よろしくお願いします。
395:デフォルトの名無しさん
07/09/21 17:10:07
def作ったほうが確実
396:デフォルトの名無しさん
07/09/21 17:12:22
そのソースのファイル名は .c か .cpp か。
397:デフォルトの名無しさん
07/09/21 17:16:31
>>395
defを使う方法はまだやった事無いです。今から勉強します。
>>396
.cppです。
398:デフォルトの名無しさん
07/09/21 17:19:45
>>397
では、.c にリネームして試してみるべし。
399:デフォルトの名無しさん
07/09/21 17:22:01
extern "C"をつけて名前マングルをやめて、かつdefでエクスポートすればいける
400:デフォルトの名無しさん
07/09/21 17:33:35
誰だマングリなんて作ったの
意味ねーだろ
401:デフォルトの名無しさん
07/09/21 17:43:01
.cにリネームしたらいけました!
さらに.cppに戻した後 >>399に書かれていたextern "C"の方法でも
出来ました!有難うございます。
402:デフォルトの名無しさん
07/09/21 17:48:39
>>400
多重定義とかメンバ関数とか名前空間とか同名の区別に必要。
型安全なリンクにも繋がる。
403:デフォルトの名無しさん
07/09/21 21:18:10
>400
んじゃオーバーロードとか使うなよ
404:デフォルトの名無しさん
07/09/21 21:33:43
せめて同一プラットフォームではマングリングは統一して欲しいところ
BCCとVC++でオブジェクトリンクできないとかもうね
405:381
07/09/22 01:54:58
>>382
今はテストプログラムで遊んでいるところなので、たしかにこういう
状況はレアケースだと思います。
たとえば「モーダルダイアログ→その上に[参照...]ボタン」だったら
全然問題ないです。
何を隠そうVB6で書いてるんですが、もしかしてVB特有の現象でしょうか。
C&SDKもMFCも分からないヘタレなもので、
.NETでFolderBrowserDialogクラスで試してみたら、ちゃんと全ウィンドウに
対してモーダルでした。
.NETでSHBrowseForFolder() をP/Invoke するのをこれから試します。
>>392
その関数はちょっと目的とは違う気がします。(試してないけど)
406:デフォルトの名無しさん
07/09/22 02:03:47
その前にspyしてWindow構成見たほうが早くね
407:デフォルトの名無しさん
07/09/22 02:09:08
micsoroftがツール提供してるってことは、
spyは合法ってことでおk?
408:デフォルトの名無しさん
07/09/22 02:20:53
何言ってんだおめぇ
409:デフォルトの名無しさん
07/09/22 03:48:12
>>404
COM
410:デフォルトの名無しさん
07/09/22 03:55:58
1PはPLAYERだろーが
411:デフォルトの名無しさん
07/09/22 04:03:12
ごめん
全然うまくないから
412:デフォルトの名無しさん
07/09/22 04:08:01
>>411
相手にならん
もっと練習してから来い下手糞
413:デフォルトの名無しさん
07/09/22 05:28:35
ちょっとフォルダ内のファイル一覧を作る処理を書こうとしてるんですが
FindFirstFile〜FindNextFile...は遅い!と思いしばらく実験...
ひょっとしてコマンドプロンプトでdir〜するより遅いんじゃないか?・・・と調べたらさすがにdirよりは早いようだったorz
しかしもっと早くしたいのです、FindFirstFile系より早い関数知ってる人いますか?
414:デフォルトの名無しさん
07/09/22 06:00:23
IShellFolderのEnumObjectsはもっと遅い
415:デフォルトの名無しさん
07/09/22 06:18:51
こんなスレで質問していないで、早く試行錯誤でバグ回避策を見つける仕事に戻るんだ!
何?やる気がありません?なら辞めろや、他の派遣雇うからw
416:デフォルトの名無しさん
07/09/22 06:21:40
IShellFolderですか、COMってやつですか?
初めて見るのでよく分からんですが、こいつはこいつで奥が深そうですね
417:デフォルトの名無しさん
07/09/22 07:13:35
>>413
遅いって何ファイルで何秒くらい?
418:デフォルトの名無しさん
07/09/22 07:14:45
自分で作ればいいのに
能なしは大人しく既存の関数使っとけ
419:デフォルトの名無しさん
07/09/22 07:35:59
>>417
5万で一秒くらいです、ちっとも遅くない・・・ですか?
420:デフォルトの名無しさん
07/09/22 07:39:12
そんなに速くしたいならWindowsの外でやれ
421:デフォルトの名無しさん
07/09/22 07:39:46
1msで50ファイル。どこが不満なんだ‥‥
422:デフォルトの名無しさん
07/09/22 07:42:25
実際計って以外に早いなと・・・
他の部分が重いのでしょうね、スレ汚し申し訳なかったです
423:デフォルトの名無しさん
07/09/22 07:45:46
windowsプログラムのお話
VC++2005EEのスケルトンプログラムのソースが何をやっているのか教えてぽ・・・。
424:デフォルトの名無しさん
07/09/22 07:46:04
キャッシュが効いてただけと予想
425:デフォルトの名無しさん
07/09/22 07:48:20
一覧の表示をListViewとかでやってるなら検索中は更新止めるとかしないと笑える程遅くなるぞ。
426:デフォルトの名無しさん
07/09/22 08:04:49
キャッシュはメモリのコンパクションツール(っていうのかな?)を使えば消えますよね?
その状態だと5万ファイルで一分ぐらい、次回実行以降高速化してます・・・
ListViewとかじゃなくvector<string>に入れて後でファイルに保存してます、時間計測は純粋にファイルリスト取得部分のみです
再起動とかしてちゃんと計測し直した方がいいですかねぇ?
427:デフォルトの名無しさん
07/09/22 08:09:58
うるせーバーカ死ね
428:デフォルトの名無しさん
07/09/22 08:11:21
>>426
HD直接触ってみるとか
429:デフォルトの名無しさん
07/09/22 08:25:20
キャッシュですねぇ、>>424さんの指摘どおりのようです
再起動して実行すると初回が91秒、10回実行して平均とか出してたんですが2回目以降は750msぐらいで安定してます
HDD直に触るのは魅力的ですよね、一度はやりたいです
しかしこれ、それでも使えないほど遅いかと言われればそんなこともない速度でしょうか
どうも昔触って以来FindFirstFile系は遅いと思い込んじゃってたんですかねぇ
430:デフォルトの名無しさん
07/09/22 08:27:18
くそう
431:デフォルトの名無しさん
07/09/22 08:33:48
>>423の言ってるのが「空のプロジェクト」をチェックしないで普通に作った奴なら
単にウィンドウ出してメニューつけて、だけをやってるんだと思う
なんかReadMe.txtってのもプロジェクトに参加してるみたいだし一度目を通されてはどうでしょう
間違ってたらスマソ
432:デフォルトの名無しさん
07/09/22 08:36:17
>>429
APIの呼び先で予想外のコードが動いている可能性もあるから確認してみるといいよ。
アンチウィルスソフトはよくやってる。
とりあえずカーネルデバッグしてみ。
433:デフォルトの名無しさん
07/09/22 08:48:42
カーネルデバッグと、初めて聞いたもので調べておりますが
カーネルデバッガというものを使うようですね、おすすめなんてありますか?
434:デフォルトの名無しさん
07/09/22 09:15:36
とりあえず無難にWinDbgを使って見るのがいいんじゃない?
無料でダウンロードできるよ。
URLリンク(www.microsoft.com)
WinDbgの文法覚えとけばCUIのデバッカへの移行もしやすいから出先でデバックする機会とかあるなら役立つかもね。
あと、カーネルデバッグするしないにかかわらずシンボルをインストールすることを忘れずに。
たとえば、Visual Studioでデバッグする場合不明なシンボルがあるとコールスタック表示するのをそこであきらめるし、
シンボル名が表示されてりゃブレークポイント貼るとき楽だしね。
435:デフォルトの名無しさん
07/09/22 09:30:31
>>434さん、折角教えて頂いたばかりですが現在の私の能力ではここまでのようです・・・
かなり便利そうには見えるのですが習得には少しかかりそうです・・・
いろいろとご指摘くださった皆さんありがとうございました、
今回はFindFirstFile〜でとりあえず作り、後は次回の課題とさせていただきます。
436:デフォルトの名無しさん
07/09/22 09:32:40
>>431
やさしい人ありがとう><
みんなプログラム作る時は空のプロジェクトでやるのかな・・・?
437:デフォルトの名無しさん
07/09/22 09:34:17
ああ
438:デフォルトの名無しさん
07/09/22 09:48:51
坊主。男は黙って空のプロジェクトで作るもんだぜ?( ゚Д゚)y─┛~~
439:デフォルトの名無しさん
07/09/22 14:21:56
質問させてください。
BitBltで描写している800*600のビットマップ画像を毎秒20ピクセルぐらい
で高速横移動させようとすると、描写がおっつかないのか移動中画像がぶれる
のです。(上から下に走査線の波がはしるように画像がゆがみます)
ひょっとしてWINAPIではそこまでの描写はできないのでしょうか?
DirectXを使えということなのでしょうか。
440:439
07/09/22 14:24:04
↑すみません、移動値が間違っていました。
一回10ピクセルの移動を、毎秒20回ほどです。
441:デフォルトの名無しさん
07/09/22 14:25:19
ププ
442:デフォルトの名無しさん
07/09/22 14:29:24
>>439
DirectXには垂直同期を待つ機能がある
GDIだけではできない
443:439
07/09/22 14:41:27
>>442
ご回答ありがとうございます。
今まさにGDIに垂直同期させる方法がないか考えているところ
でしたが、できないのですね。。。
DirectXを勉強することにします。
ヒント、感謝します。
444:デフォルトの名無しさん
07/09/22 16:46:25
"C:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*.*"
これがOKなのが許せない
445:デフォルトの名無しさん
07/09/22 16:51:28
/////////////////////////////////////home/unko
URLリンク(www.2ch.net)
普通だろ
446:デフォルトの名無しさん
07/09/22 16:53:02
VC++2005EEで途中まで文字入力したときのポップアップヘルプが
出なくなっちゃたよぅ・・・><
447:デフォルトの名無しさん
07/09/22 16:57:37
EEなんて使ってるからだ
大人しくプログラミング引退しなさい
448:デフォルトの名無しさん
07/09/22 17:03:58
そんなぁ・・・><
449:デフォルトの名無しさん
07/09/22 17:06:19
と、思ったら僕の勘違いでした・・・
ごめんなさい
450:デフォルトの名無しさん
07/09/22 17:21:41
>>444
パス名の先頭に\\?\(Cなら\\\\?\\)でもつければ?
451:デフォルトの名無しさん
07/09/22 21:14:40
>>446
あのピョコってでるのは確かインテリセンスって言うはずだ
プロジェクトのフォルダ内に.ncbって拡張子のファイルがあると思う、表示される情報はこれに保存されてるらしい
で、情報の更新に若干タイムラグが出る事があってポップアップが出ない事がある、これは数秒待てば出るようになるよ
前の行にビルドエラーになる箇所があるとそれ以降インテリセンスも更新されてなかったりするのでこまめにビルドするといいかも
452:デフォルトの名無しさん
07/09/22 21:30:29
じゃあ、コンパイル成功してもIntelliSense動いてくれないのはなぜなんだぜ?
特にBoostとか使ってるとき、特定の行以降/ブロック内で起こる。
453:デフォルトの名無しさん
07/09/22 21:53:56
それはC++がキモすぎるかr
454:デフォルトの名無しさん
07/09/22 22:27:03
いやキモいのはbo
最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4262日前に更新/104 KB
担当:undef