■過去ログ置き場に戻る■
1-
前250
次250
最新50
[memo]
"9999999999_00.html#R20"
という感じで、URLの最後に "#R
レスNo
" を追加すると幸せになれます。
Win32API質問箱 Build28
501
名前:
デフォルトの名無しさん
:05/02/26 15:39:29
>>491
WCHARを使わないのであれば、
文字列へのポインタをそのままインクリメントデクリメントせずに、
必ずCharNextとCharPrevを使うこと。
これでどう?>All
502
名前:
デフォルトの名無しさん
:05/02/26 15:50:42
473の株があったら空売りすれば絶対儲かる
503
名前:
デフォルトの名無しさん
:05/02/26 15:54:21
>>471
NT系のOSは、UNICODEを基本として動作しているわけだから
むしろMBCSを使う方が非効率だと思う。
504
名前:
デフォルトの名無しさん
:05/02/26 15:59:30
>473
の株があったら空売りすれば絶対儲かる
これどういう意味?
505
名前:
デフォルトの名無しさん
:05/02/26 16:59:04
>>503
そのへんどうなんだろうねぇ
ファイル名なんかはUNICODEにしておくと無駄な変換がなくて済みそうだけど
ウィジェットのテキストラベルやテキストボックスなんかはどうなってるんだろ
506
名前:
デフォルトの名無しさん
:05/02/26 17:11:23
失礼します。
漢字変換のポップアップウィンドウを使いたいのですが。
↓
http://www.geocities.jp/ayana_city/ime.JPG
MS側でAPIで用意されてると思うんですよ。たぶん。。。
フォントやファイルのコモンダイアログみたいに。
誰かご存知な方はいますか?
507
名前:
デフォルトの名無しさん
:05/02/26 17:29:07
>506
リンクが見れない。
どのウィンドウを指してるのかよくわからんが、
IMEの操作は、「Imm〜」で始まる関数と「WM_IME_〜」で始まるメッセージを使う。
特に"candidate"の扱い方を調べろ。
508
名前:
デフォルトの名無しさん
:05/02/26 17:29:21
>>503
それはプロセスが文字列リソースを扱っている時の話。
適切な関数を使わないと、ただのバッファデータにまで
重厚・親切な文字列処理が行われかねない。
本来memcmp・memcpyで済ませて構わない場所や
従来strlenでヌル終端位置を取得していた場所が無駄に重くなる。
Unicode対応は、確かに多言語対応・機能拡張には柔軟になるが
バイナリバッファへの直接アクセスがセールスポイントであるC/C++の恩恵を捨てることにもなる。
そもそもマルチバイトコードの大市場というべき日本語環境でMBCS版がちゃんと動くなら、
無理にUnicode版でビルドする必要など皆無。
あれは英語圏の人間が、未知のマルチバイト言語用にビルドするためのものといって差し支えない。
509
名前:
506
:05/02/26 17:41:42
>>507
どうもです。
507さんの情報をヒントにグーグル検索をしたら、
いいものが見つかりました。
ありがとうです。
http://www.cisnet.or.jp/home/tsuneoka/win32tech/7.html
画像は見れると思うんですが(^^
510
名前:
デフォルトの名無しさん
:05/02/26 17:53:29
多機能・高速な日本語テキストエディタがUnicodeでビルドされる日は来ないだろう。
わざわざ独自の実装で直接バッファアクセスによる高速化・最適化を実現しているのを、
汎用的なWindowsAPIに置き換えるメリットなどないからだ。
511
名前:
506
:05/02/26 18:10:20
候補ウィンドウを表示させるAPIがどうしても見つかりません。
http://www.geocities.co.jp/SiliconValley-Cupertino/5872/String/Ime/index.html
どのように表示させるのかご存知な方はいますか?
512
名前:
506
:05/02/26 18:10:44
候補リストウィンドウ
http://www.geocities.co.jp/SiliconValley-Cupertino/5872/String/Ime/img3.gif
513
名前:
506
:05/02/26 18:13:29
ImmGetCandidateWindow IME候補リストウインドウ位置取得
ImmSetCandidateWindow IME候補リストウインドウ位置設定
取得や設定ならわかりましたが、
肝心の変換文字を指定〜候補リストウィンドウの表示がわかりません。
514
名前:
506
:05/02/26 18:14:54
IME候補ウィンドウのハンドルを取得できるのでしょうか?
515
名前:
506
:05/02/26 18:18:06
ImmGetDefaultIMEWnd?
516
名前:
デフォルトの名無しさん
:05/02/26 18:27:18
>>512
やっぱりリンク先が見られないんだが。
IMEプログラミングは、かなり環境に依存するし情報も少ないので、
それなりに大変。ちょっと関数呼んで終わりとか、そういうのじゃないよ。
とりあえず、メッセージフック用ののソフトで、IMEを操作したときに
どういうメッセージがやり取りされてるか知れべて見ろや。
Spy、WinSightあたりを持ってないか。
517
名前:
506edwin
:05/02/26 18:31:18
>>516
そーですね。
こっちが覚えたくても情報がないから、
手探り状態。
でも乗り越えないといけない山・・・。
険しく寒い山。
ガンバ自分。
どうもです。
518
名前:
デフォルトの名無しさん
:05/02/26 19:47:10
http://home.h07.itscom.net/buruturi/VCTIPS_008.html
(3)-(F)のImmReleaseContext();の直後にreturn 0;を書けば(4)は不要。
519
名前:
デフォルトの名無しさん
:05/02/26 19:53:36
>>508
WindowsだからUTF-16が前提で話すけど
UNICODE文字列をmemcmp memcpyして何か問題ありますか?
wcslenは非効率な処理をしてるんですか?
むしろ1文字のバイト数が固定されているからランダムアクセスが
効率的に行えるでしょ。
SJISで文字探索するときの非効率さの方が問題。
520
名前:
デフォルトの名無しさん
:05/02/26 19:56:37
LPSTRを引数に取るAPIってさ、NT版だと内部でUnicodeに変換してるんでない?
521
名前:
デフォルトの名無しさん
:05/02/26 20:05:30
Windows XP は、Windows 9X や Windows MEのために書かれたアプリケーションとの
後方互換性を保つために、非 Unicode 文字 (ANSI や DBCS) をパラメータとしている
API を備えています。対応する API は Unicode 文字コードをパラメータとしてとります。
基本的には、非 Unicode API は、対応する Unicode API を呼び出す前に、パラメータ内
の文字コードを Unicode に変換します。
http://www.microsoft.com/japan/technet/prodtechnol/winxppro/evaluate/muiovw.mspx
522
名前:
デフォルトの名無しさん
:05/02/26 20:15:11
API呼ぶたびに文字列引数をMBCSからUnicodeに変換してるのって恐ろしく
非効率じゃないのかなぁ。俺、Unicodeでコンパイルしてるよ。
もちろん、SJISのほうが便利な部分もあるから、どっかでまとめて変換するんだけどね。
MBCS版のAPIを呼ぶことはしないな。
523
名前:
デフォルトの名無しさん
:05/02/26 20:44:59
Win9x 系を見捨てますかそうですか
524
名前:
デフォルトの名無しさん
:05/02/26 20:56:10
>>517
けなげだから、ヒント教えよう。
以下のコードを書いて実行してみてください。
char moji[]={"それがPSPの仕様だ。"};
HIMC hIMC = ImmGetContext(m_hWnd);
ImmSetCompositionString(hIMC, SCS_SETSTR, moji,strlen(moji),NULL,0);
ImmNotifyIME(hIMC, NI_COMPOSITIONSTR, CPS_CONVERT, 0);
ImmNotifyIME(hIMC, NI_OPENCANDIDATE, 0, 0);
ImmReleaseContext(m_hWnd, hIMC);
あと、imm.hをinclude&リンク指定としてimm32.libを忘れずに。
これで結構、筋がわかると思うよ。
525
名前:
デフォルトの名無しさん
:05/02/26 20:59:22
>>523
tcharって知ってます?
526
名前:
デフォルトの名無しさん
:05/02/26 21:26:01
>>523
9xでもMicrosoft Layer for Unicode入れれば動かせたような希ガス。
527
名前:
デフォルトの名無しさん
:05/02/26 21:28:34
http://www.microsoft.com/downloads/details.aspx?FamilyId=73BA7BD7-ED06-4F0D-80A4-2A7EEAEE17E2&displaylang=en
528
名前:
学生プログラマン
:05/02/26 21:50:53
みんなUnicode対応と非Unicodeでちゃんとコンパイル出来る様にソース書いてないの?
529
名前:
デフォルトの名無しさん
:05/02/26 21:59:48
俺は一応、切替できるように作っているつもり。
しかし、実際のところWin98なんでUnicodeにしたことはない。
MSLUも試す気には(今のところ)ならない。
530
名前:
デフォルトの名無しさん
:05/02/26 22:01:01
どのみちUnicodeかMBCSかで内部のロジックまで組みかえる必要あるから最近は全部内部Unicodeで通してAPIは9xで使える奴だけに絞ってUnicode版直接呼んでる。
531
名前:
デフォルトの名無しさん
:05/02/26 22:16:10
ところでlstrcpyWはNT系と98以降ってなんでこんな中途半端なことになっているんだ?
532
名前:
デフォルトの名無しさん
:05/02/26 22:45:32
Unicode版とMBCS版で速度比較したらどんな結果がでるんだろうか?
533
名前:
デフォルトの名無しさん
:05/02/26 22:53:27
両対応にするとソースが
#ifdef _UNICODE
・・
#else
・・
#endif
だらけになる。
534
名前:
デフォルトの名無しさん
:05/02/26 23:23:05
>>533
> だらけになる。
・CStringみたいな文字列クラスを適切に使う
・TCHARだの_tcs*だのを使う
ってのを徹底すればそうでもない
完全になくすわけにはいかないけど、
末端に追いやることはできるっしょ
>>532
どっかないかねえ?
535
名前:
デフォルトの名無しさん
:05/02/26 23:43:13
ちょっとした比較物作ろうとしてもVC6だとiostream系が
(ノ∀`)アチャー
だからなぁ・・・。
536
名前:
デフォルトの名無しさん
:05/02/26 23:44:41
ファイル名はFindFirst系とかどうかな
User32だと何が適切だろう
537
名前:
デフォルトの名無しさん
:05/02/26 23:59:59
キーコードを、実際の文字charに変換する関数はなんでしょうか?
538
名前:
デフォルトの名無しさん
:05/02/27 00:10:31
>>537
MFCだけど
str.Format("%c ", nChar);
539
名前:
デフォルトの名無しさん
:05/02/27 01:33:20
すんごいバカ
540
名前:
デフォルトの名無しさん
:05/02/27 01:44:28
>>537
ms-help://MS.PSDK.1033/winui/winui/windowsuserinterface/userinput/VirtualKeyCodes.htm
541
名前:
540
:05/02/27 01:46:01
>>537
何貼ってんだ俺
MapVirtualKey
542
名前:
デフォルトの名無しさん
:05/02/27 06:10:16
ウィンドウアプリケーションからコンソールアプリケーションを実行して、
出力される情報をリアルタイムで得るにはどうしたらいいのでしょうか?
出力をファイルにリダイレクトすれば、実行後には出力結果を得られますが、
あいにく実行時間が長いプログラムなので、リアルタイムで出力情報が欲しいのです。
543
名前:
デフォルトの名無しさん
:05/02/27 06:10:57
ぱいぷ?
544
名前:
542
:05/02/27 06:22:12
自己解決しました。検索したら出てきました。
CreateProcessに渡すSTARTUPINFO構造体にhStdOutputという標準出力ハンドルがありました。
545
名前:
デフォルトの名無しさん
:05/02/27 09:57:22
>>541
かっこわるぅ〜。馬鹿だね。
546
名前:
デフォルトの名無しさん
:05/02/27 10:44:45
>>537
MapVirtualKeyでGo!
KeyDownイベントで拾うんだぞ。
ほかの同様のKeyイベントがあるけど、仮想キーコードが異なるんだ。
547
名前:
デフォルトの名無しさん
:05/02/27 11:56:01
>>546
それで今までやってきたのか・・・分かってないんだねぇ・・・
俺の部下にも注意しないと。
548
名前:
537
:05/02/27 12:07:37
>>546
仮想キーコードが異なる場合、どのように対処すればいいのでしょうか?
同じキーでも、コードが異なるのでは処理がややこしくなるのですが。
549
名前:
デフォルトの名無しさん
:05/02/27 12:35:58
純粋にどのキーが押されたのかを知りたいだけなら、
GetAsyncKeyStateでも使えばいい。
本当はゲーム作ったりする時に使う関数だから、メッセージ通す方法の方が
いいのかもしれないけどね。
550
名前:
デフォルトの名無しさん
:05/02/27 13:12:33
>>549
>>547
551
名前:
デフォルトの名無しさん
:05/02/27 13:44:05
>>549
どっちかというと装飾キーの状態判定がメインな気が
552
名前:
デフォルトの名無しさん
:05/02/27 14:34:33
SelectObject(pPen);をはじめて実行したときは何が返ってくるんですか?
553
名前:
デフォルトの名無しさん
:05/02/27 15:54:53
コンパイルエラー
554
名前:
デフォルトの名無しさん
:05/02/27 16:24:17
506ではないですが、
自前でIMEの変換状態を描画しているのですが
COMPOSITIONとCANDIDATEの各ウィンドウを
表示させない(変換動作はバックグラウンドで行う)ように
するにはどうすればいいか、ご存知の方はいませんか?
555
名前:
554
:05/02/27 17:19:49
COMPOSITIONウィンドウは以下で
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
HIMC hIMC = ImmGetContext(hWnd);
COMPOSITIONFORM cmf;
cmf.dwStyle=CFS_RECT;
cmf.rcArea.left=0;
cmf.rcArea.right=-5;
::ImmSetCompositionWindow(hIMC,&cmf);
・・・
//_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
とすれば、非表示になりましたが、CANDIDATEウィンドウを
非表示にする方法が分かりません。誰か教えてください。
556
名前:
デフォルトの名無しさん
:05/02/27 17:48:55
>>552
以前選ばれていた、Penハンドルが返ります。
557
名前:
デフォルトの名無しさん
:05/02/27 17:57:36
要するに、何も選ばれて無い状態のPenハンドルは、黒のドット一本線ですから。
それが返ります。
つまり、デフォルトの状態が返るわけです。
558
名前:
デフォルトの名無しさん
:05/02/27 18:13:05
>557
それを保存して後でまたSelectObject関数で戻さないといけないんですよね?
戻さないと何か問題ありますか?
559
名前:
デフォルトの名無しさん
:05/02/27 18:20:53
>>558
いえ、戻さなくても問題はおきませんが。
ただ、元(デバイスコンテキストに対するデフォルトな状態)に戻したいばあいは必ずあるので、SelectObjectが返すオブジェクトは大切だと思いますが。
560
名前:
デフォルトの名無しさん
:05/02/27 18:54:48
現在選択中のGdiObjectはDeleteObjectに失敗するので、
GDIリソースが漏れる。
561
名前:
デフォルトの名無しさん
:05/02/27 20:02:05
>559-560
thx
562
名前:
デフォルトの名無しさん
:05/02/27 20:26:39
GetStockObjectでとってきたGDIオブジェクトは解放せんでええから
いざとなったらそれSelectすればいい話だけどな。
563
名前:
デフォルトの名無しさん
:05/02/27 20:41:45
なるほど、良いこと聞いた
564
名前:
デフォルトの名無しさん
:05/02/27 20:51:07
スレッドA,B,Cがあって、CがEnterCriticalSectionでクリティカルセクションに入って
次にA,Bの順で同じクリティカルセクションに入った場合、
CがLeaveCriticalSectionで抜けると、次はAが動き始め、Bは待つのですか?
A,Bが一緒に動き始めたりしないですか?
Win2000です。
565
名前:
デフォルトの名無しさん
:05/02/27 20:52:53
ミューテックスをロックできた順に動きます。
566
名前:
デフォルトの名無しさん
:05/02/27 21:11:16
>>564
>次にA,Bの順で同じクリティカルセクションに入った場合、
>CがLeaveCriticalSectionで抜けると、次はAが動き始め、Bは待つのですか?
>A,Bが一緒に動き始めたりしないですか?
用語が混乱してますね。「クリティカルセクションに入った」ってことは、
Mutexをすでに獲得したということですよ。
というのは措いといて、A,Bが同時に動くことはありません。
必ず一つずつです。
567
名前:
デフォルトの名無しさん
:05/02/27 21:20:27
全てのコントロールをウィンドウ化させたら、重くなる?
ボタンもスクロールバーもタブもスライドもコンボボックスも。
568
名前:
デフォルトの名無しさん
:05/02/27 21:32:49
????????????
569
名前:
デフォルトの名無しさん
:05/02/27 21:37:28
全てのコントロールはウィンドウだと思われ
570
名前:
デフォルトの名無しさん
:05/02/27 22:00:02
VirtualAlloc(Ex)のflAllocationTypeのMEM_RESETって
どういうときに使うんでしょう?
page stateを変えるものではなさそうだし・・・
571
名前:
デフォルトの名無しさん
:05/02/27 22:08:45
>>566
平然とウソをつくのはやめてくれ。
572
名前:
デフォルトの名無しさん
:05/02/27 22:21:51
>>571
どこら辺がウソなの?
573
名前:
デフォルトの名無しさん
:05/02/27 22:35:13
>>572
クリティカルセクションとミューテックスを混同しているあたり。
574
名前:
デフォルトの名無しさん
:05/02/27 22:36:00
571ではありませんが
みゅーてっくすは全く関係ありません
575
名前:
デフォルトの名無しさん
:05/02/27 22:36:58
だから、素直にAdvancedWindows読め
Win32マルチスレッドプログラミングでもいいが
576
名前:
デフォルトの名無しさん
:05/02/27 22:39:11
>>570
AdcancedWindows読め
全ての答えが書いてある
577
名前:
デフォルトの名無しさん
:05/02/27 22:39:46
アドバンスド大戦略を読め。
578
名前:
デフォルトの名無しさん
:05/02/27 22:39:58
ここの奴らの言う事を鵜呑みにするなよ
合ってる場合は稀で、ほとんどが間違ってる
いいからAdvancedWindows買え
579
名前:
デフォルトの名無しさん
:05/02/27 22:40:33
アドバンスト覚えたて厨がうざいんですが
580
名前:
デフォルトの名無しさん
:05/02/27 22:41:28
アドバンスド・ファンタジアン
581
名前:
デフォルトの名無しさん
:05/02/27 22:42:01
>>564
EnterCriticalSection〜LeaveCriticalSectionで囲われた部分は同時に実行されない。
先にどこかのスレッドが中に入っている場合、後から来た方はEnterCriticalSectionで待ちぼうけ。
そういうことをさせるためのクリティカルセクション。
582
名前:
デフォルトの名無しさん
:05/02/27 22:44:31
クリティカルセクションはリソース競合が起きなかった場合、カーネルモードに移行しない
競合が起きた場合でも、所有権を持つスレッドはカーネルモードに移行せず実行される
だからミューックスより速い
これらの情報はすべてAdvancedWindowsに載ってる
買え
583
名前:
デフォルトの名無しさん
:05/02/27 22:54:11
もうスレッドとか、カーネル周りの質問とかは「AdvancedWindows読め」でいいよね。
584
名前:
デフォルトの名無しさん
:05/02/27 22:54:35
GameBoyAdvance
585
名前:
デフォルトの名無しさん
:05/02/27 22:56:26
>>574
あー、そういう意味でMutexと書いたわけではないのだが・・・。
いわゆるCreateMutex等で作られるオブジェクトではなく、
相互排他に使われるモノ一般のことを言ったんだけど、
確かに誤解される書き方でした。失礼。
しかしまあ、「クリティカルセクション」ってのは、
一般に相互排他されたコード領域を指す言葉なわけで、
クリティカルセクションに入「った」ってことは、
すでに相互排他された状態だと思うわけですよ。
WindowsのCRITICAL_SECTIONのおかげで、若干混乱しがちですが。
586
名前:
デフォルトの名無しさん
:05/02/27 22:59:14
>>585
おまえ、ミューテックスってどういう意味かわかってないだろ
いいからAdvancedWindows買えよ
意味載ってるから
587
名前:
デフォルトの名無しさん
:05/02/27 23:01:07
MuTeX は TeX で楽譜を組版するためのマクロパッケージです
588
名前:
デフォルトの名無しさん
:05/02/27 23:02:42
>>585
ホントに分かってなかったんだな。軽くジャブ入れただけだったのに。
どんまい。勉強して出直してきな。
589
名前:
デフォルトの名無しさん
:05/02/27 23:12:25
本屋の回し者がいっぱい居るな、ボケ
590
名前:
デフォルトの名無しさん
:05/02/27 23:17:21
こんにちわ、紀伊国屋書店です。
591
名前:
デフォルトの名無しさん
:05/02/27 23:22:32
紀伊国屋書店は、なぜ、カウンター員とレジ処理員が別になってるのか、理由きぼんぬ。
592
名前:
デフォルトの名無しさん
:05/02/27 23:23:32
MSDN のPlatform SDKのSynchronization Objectsにこと細かく書いてあるじゃん
593
名前:
デフォルトの名無しさん
:05/02/27 23:54:46
>>533
自作ライブラリのUnicode対応をやった。C++前提だと意外と楽だね。
関数オーバーロードとテンプレートを駆使して
MBCS版バイナリとUnicode版バイナリを、生成物の中で両立できた。
TCHAR.H依存のマクロ切り替えだと
MBCS版バイナリとUnicode版バイナリが共存できない。
594
名前:
564
:05/02/27 23:59:23
みなさん。いろいろありがとうございました。
AdvancedWindows持ってますがいま会社に置きっぱなしなので
明日読みます。では
595
名前:
デフォルトの名無しさん
:05/02/28 00:48:17
AdvancedWindowsは定番って書いてあるのに
なんでAmazonだと配送に4〜6週間かかるんだろう?
596
名前:
デフォルトの名無しさん
:05/02/28 01:15:59
AdvancedWindowsなんて、普通の一般人は読まんよw
たぶん、在庫がないから発注してるんだろうな。
597
名前:
デフォルトの名無しさん
:05/02/28 01:38:04
普通じゃない一般人
598
名前:
デフォルトの名無しさん
:05/02/28 01:52:56
この業界なら普通だろ。
Windows系扱う会社でこの本が常備してないとこはヤバイな。
599
名前:
デフォルトの名無しさん
:05/02/28 02:07:50
Windowsプログラミングを仕事としている会社なんて極僅かだよw
600
名前:
デフォルトの名無しさん
:05/02/28 02:12:38
普通の一般人w
601
名前:
デフォルトの名無しさん
:05/02/28 04:51:07
私は普通の一般人です。
皆さんは普通の一般人ですか?
602
名前:
デフォルトの名無しさん
:05/02/28 05:38:59
P5ページです。
603
名前:
デフォルトの名無しさん
:05/02/28 09:37:27
ここはひどい AdvancedWindows ですね。
604
名前:
デフォルトの名無しさん
:05/02/28 10:00:56
AdvancedWindowsお買い上げいただきましてありがとうございます。
605
名前:
デフォルトの名無しさん
:05/02/28 10:19:28
AdvancedWindows ぬるぽ
606
名前:
デフォルトの名無しさん
:05/02/28 10:44:05
パスの示すものがファイルなのかフォルダなのかを調べる
APIを教えてください。以前使ったことがあるんですけど、
忘れちゃって…。
607
名前:
606
:05/02/28 11:05:08
すいません、たまたま見つかりました。
GetFileAttributes ですね。
608
名前:
デフォルトの名無しさん
:05/02/28 18:05:15
WM_VSCROLLって垂直スクロールバーを触ったときに来るメッセージだけど
スクロールバーに触ってない状態でスクロールバーが動いたときにくるメッセージないの?
609
名前:
デフォルトの名無しさん
:05/02/28 18:39:40
sendmessageでWPARAMのLOWORDにメッセージ送りたいんだけどできる?
610
名前:
609
:05/02/28 18:57:34
解決した
611
名前:
デフォルトの名無しさん
:05/02/28 18:57:53
>>608
或る夜
612
名前:
デフォルトの名無しさん
:05/02/28 19:00:02
文字間を制御する必要があるため、TextOutで1文字づつ出力しているのですが、ごく稀に
代替フォントで使用されたフォントがずーっと使用されてしまうことがあります。
1文字づつSelectObjectすればちゃんと出るのは確認してますが非常に遅くなります。
文字種(漢字・アラビア文字・ヘブライ文字とか)が分かればその変わり目で
再設定すれば良さそうなのですが、文字種を判定するにはどうしたら良いでしょうか。
テーブル作るのが早いのかなぁ…
あるいは代替フォントが使用される・されない・使用不可、等が判定できる方法が
ありましたらご教授ください。
613
名前:
デフォルトの名無しさん
:05/02/28 19:38:48
GetFontUnicodeRanges
とかか?
614
名前:
デフォルトの名無しさん
:05/02/28 20:00:20
>>611
はぁ?嘘言ってんじゃねぇよデブ
615
名前:
デフォルトの名無しさん
:05/02/28 20:13:20
なんかここで聞くよりホント
>>439
買ったほうが早そうだな。
こいつらmsdnより使えないことに最近気づいた
616
名前:
デフォルトの名無しさん
:05/02/28 20:26:32
聞く側の分際で
617
名前:
デフォルトの名無しさん
:05/02/28 20:35:45
>>615
はmsdn使えないへたれ
618
名前:
デフォルトの名無しさん
:05/02/28 20:58:56
MSDNの検索がうまくいかない
619
名前:
デフォルトの名無しさん
:05/02/28 21:36:53
>>612
字が多くて読む気しない
質問以前
620
名前:
デフォルトの名無しさん
:05/02/28 21:45:39
ム板ってID出ないんだね
621
名前:
デフォルトの名無しさん
:05/02/28 22:12:55
馬鹿には見えないんだよ、きっと。
622
名前:
デフォルトの名無しさん
:05/02/28 22:23:41
(´-`).。oO(またデブ好きが紛れ込んでいるな。ぜひとも実際に会ってみたいものだ)
623
名前:
デフォルトの名無しさん
:05/02/28 23:53:18
デブ好きなんだ…
624
名前:
デフォルトの名無しさん
:05/03/01 00:24:41
漏れ、会社でMSDNを知らない人っていうのをはじめて見たよ
チョトびびった。
625
名前:
608
:05/03/01 08:40:36
教えてください。お願いします
626
名前:
608
:05/03/01 09:33:01
解決しました。
627
名前:
608
◆HRpxQ/NMfs
:05/03/01 10:05:27
>>626
は偽者ですので教えてください。お願いします
628
名前:
デフォルトの名無しさん
:05/03/01 10:15:10
スクロールバーに触ってない状態でスクロールバーが動いたとき
ってどんな状況だ?ホイールスクロール?
629
名前:
デフォルトの名無しさん
:05/03/01 10:16:06
>>608
WM_VSCROLL
630
名前:
デフォルトの名無しさん
:05/03/01 10:29:45
>>608
つ Spy++
631
名前:
デフォルトの名無しさん
:05/03/01 10:36:25
>>608
っ Winspector
632
名前:
デフォルトの名無しさん
:05/03/01 10:37:51
つ ω
633
名前:
612
:05/03/01 11:26:57
>613
ありがとう〜
GetFontUnicodeRanges
から辿ってみたら
GetGlyphIndices
てのもみっけ。
でもどちらも_WIN32_WINNT>=500なんでつね。
今回はXP前提なのでコレ使ってみまっす。
634
名前:
デフォルトの名無しさん
:05/03/01 12:09:26
ウィンドウベース(非コンソール)でのアプリケーションで
stdoutやstderrのデータを フック?して、EditBox等に表示したいんですが。
何かAPIありますか?
できれば、自分自身のアプリケーションと
systemやらCreateProcess、ShellExcecutなどで立ち上げた別のアプリケーションの
stdout,stderr,を別々に監視したいです。
635
名前:
デフォルトの名無しさん
:05/03/01 13:08:00
>>634
CreateProcessの引数のSTARTUPINFO構造体にstdin/out/errの各ハンドルを
指定できる。あとはパイプと組み合わせれば実現できます。
呼び出し側がVBならコレが使いやすいかもね。
ttp://www2d.biglobe.ne.jp/~Philopon/soft.html#tpcsrunca
636
名前:
デフォルトの名無しさん
:05/03/01 13:13:46
リッチエディットコントロールでは、
キーを押した時にメッセージは来ないのでしょうか。
普通のエディットコントロールでは、WM_COMMANDが来るようなのですが。
637
名前:
デフォルトの名無しさん
:05/03/01 13:42:07
リアルタイムにネットワークの転送量を表示したいのですが、
式はどうなるのでしょうか?
dwInOctets
dwInUcastPkts
dwInNUcastPkts
は表示できるのですが、Octetsは通信してない時も値が入ってますし・・
どうかよろしくお願いします。
638
名前:
636
:05/03/01 15:39:38
サブクラス化して、WM_KEYDOWNで処理する事にしました。
639
名前:
デフォルトの名無しさん
:05/03/01 16:06:28
調査結果:
ファイルアクセスを必要とする場合、SJIS形式のファイルを読み込む処理がある場合が多い。
UNICODEファイルを読み込むケースはほとんどない。
SJISファイルをUNICODEビルドで読み込む場合に用いるC標準関数_fgetts()が非常に遅い。
エンコードと無関係な部分においても、
文字列ソートする際などに用いる比較関数_tcsicmp()の処理がUNICODE版は非常に遅い。
補足:
MFCのUNICODE版ソケットクラスには長らく不具合が存在した。
ソケットプログラムのようなマルチプラットホームを意識すべき環境には、
UNIOCDEで開発する人が少ないので不具合の発見が遅れたとみるべきだろう。
結論:
多くの場合、UNICODEビルド生成物は処理が遅い。
単にバッファサイズが2倍必要になるだけなく、諸々の処理も重くなる。
UNICODEビルドの優位性を確認できない場合がほとんどである。
640
名前:
637
:05/03/01 16:49:20
移動します。スレ汚しスマソ
641
名前:
デフォルトの名無しさん
:05/03/01 17:04:17
C#NETなんですが、ListBoxのある特定のItem(行)の
文字色を変えたり、背景の色を変えたりすることはできますか?
642
名前:
デフォルトの名無しさん
:05/03/01 17:04:32
>>639
Win32スレなのに、NT系におけるAPIコールの速度比較を
何一つ行っていないのにワロタ。
643
名前:
デフォルトの名無しさん
:05/03/01 17:11:10
MFCスレでやれ。
644
名前:
デフォルトの名無しさん
:05/03/01 17:45:36
>>641
オーナードロー使え。
そしてスレ違い。
645
名前:
デフォルトの名無しさん
:05/03/01 18:36:50
>>644
色変えたいだけなのに
オーナードロー使え?
馬鹿も休み休み言え!
646
名前:
デフォルトの名無しさん
:05/03/01 18:39:57
>>645
オーナードロー
647
名前:
デフォルトの名無しさん
:05/03/01 18:43:42
正解はWM_CTLCOLORLISTBOX
オーナードローとか言ってる馬鹿は氏ね。
648
名前:
デフォルトの名無しさん
:05/03/01 18:57:49
こんばんわ
//フォーマット出力
void Format(TCHAR* pFm,...){
TCHAR pOut[MAX_LOADSTRING];
wsprintf(pOut,pFm,...);
}
フォーマット出力をするwsprintfを、自分で作成した関数Formatでラップしたのですが、
なぜかwsprintfの ... の部分の指定がおかしいとのエラーが出ます。
この場合、wsprintfの ... の部分はどのように指定すればいいのでしょうか?
宜しくお願いいたします。
649
名前:
デフォルトの名無しさん
:05/03/01 19:02:28
#include <stdarg.h>
va_list v;
va_start(v,pFm);
wvsprintf((char*)pOut,(char*)pFm,v);
va_end(v);
これで解決です。
650
名前:
デフォルトの名無しさん
:05/03/01 19:11:37
DirectXのバージョン情報を取得したいのですが、
どうやって取得したらいいのでしょうか?
SDKってやつも見てみたのですが、
なにで検索していいのかさっぱりわかりませんでした。
もしかしたらスレ違いかも知れないのですが、
よろしくお願いします。
651
名前:
デフォルトの名無しさん
:05/03/01 19:12:41
スタートメニューの「ファイル名を指定して実行」からdxdiagです。
652
名前:
デフォルトの名無しさん
:05/03/01 19:12:56
>>639
UNICODEビルドでSJISファイルを読むのに_fgetts()を使ってどうすんだよ。 w
無茶苦茶だな。
653
名前:
デフォルトの名無しさん
:05/03/01 19:14:56
>>647
オーナードロー
654
名前:
デフォルトの名無しさん
:05/03/01 19:15:20
>>647
行ごとにWM_CTLCOLORLISTBOXメッセージが来ないんですが・・・
うちのWindowsが悪いのかな
(・∀・)ニヤニヤ
655
名前:
デフォルトの名無しさん
:05/03/01 19:18:42
>>647
そのメッセージでどうやって特定の行の色を変えるの?
656
名前:
デフォルトの名無しさん
:05/03/01 19:19:40
そんなはずはありません。
OSを再インストーノレし最新パッチを当てれば解決します。
657
名前:
デフォルトの名無しさん
:05/03/01 19:20:50
おまいら釣られすぎですよ。
658
名前:
デフォルトの名無しさん
:05/03/01 19:21:42
こんなとこで釣りすんなよ
だれも寄り付かねーぞ
659
名前:
デフォルトの名無しさん
:05/03/01 19:28:46
>>651
ありがとうございます!
これで表示されているDirectXのバージョン情報を
API(C言語)で取得するのは可能なのでしょうか?
MSDNを見たのですが、どこのレジストリに書き込まれているのか
みつけられませんでした…
660
名前:
デフォルトの名無しさん
:05/03/01 19:35:50
>>659
GetFileVersionInfoで検索すればわかるよ
661
名前:
デフォルトの名無しさん
:05/03/01 19:35:55
>
>>639
>UNICODEビルドでSJISファイルを読むのに_fgetts()を使ってどうすんだよ。 w
>無茶苦茶だな。
は?
662
名前:
デフォルトの名無しさん
:05/03/01 19:44:58
>>652
UNICODEビルドで速度を実測したことないのか?
APIへ文字列渡しする機会などほとんどない。
よってAPI呼び出しによる差異はほとんど発生しない。
むしろ、CのUNICODE関数が遅いために問題が発生する。
バッファをエンコードせず直接読み出した場合、
結局MBCS系の関数を使い続けなければならず、
UNICODE関数はSJISファイル処理に向いてない。
663
名前:
デフォルトの名無しさん
:05/03/01 19:47:57
ちょっと分からないのでヒントください。
今、ハードウェアを制御するアプリケーションを作っていて、ハードウェアには付属のDLLが付属していてそれを使ってコントロールまでは出来ます。
そこで、2つのアプリケーションからそのハードウェアを制御したいのですが、付属のDLLを使用すると当然1つのアプリケーションしか制御できません。
(2つ目のアプリケーションを実行した時点でハードウェアが無いと怒られる)
そこで、複数のアプリケーションから操作できるように付属DLLを操作するDLLを作成していて
今現在、DLL間での変数の共有やGetProcAddressで関数のアドレスの取得などやってみたのですが、動かず。
GetProcAddressは仮想メモリ空間のアドレスなので他プロセスから呼び出せないのは当然な所までは分かりました。
こんな感じにしたいのですが↓
アプリケーション1→|
|制御DLL→付属DLL→ハードウェア
アプリケーション2→|
今思い浮かぶ解決策としては、別プロセスの関数を呼び出す、もしくは
DLL内にスレッドを作成し、スレッドをループさせ、共用変数を監視して実行させる方法の2種類です。
もうちょっと簡単な方法があると思うのですが、何かヒントをください。
664
名前:
デフォルトの名無しさん
:05/03/01 19:50:59
>>663
そんな君にこそAdvancedWindows。
読めばたぶん即・解決。
ここで説明してやってもいいけど長くなりそうなんでね・・・。
とりあえずNt系ならCreateRemoteThreadでも試せば?
665
名前:
デフォルトの名無しさん
:05/03/01 19:51:16
アウトプロセスCOMにでもしといたら?
666
名前:
デフォルトの名無しさん
:05/03/01 19:52:04
>662
UNICODEビルドなら、ReadFile直後にMultiByteToWideChar。
何でCRTのMBCS関数が関係するのかわからん。
667
名前:
デフォルトの名無しさん
:05/03/01 19:52:06
GetTextExtentPoint32
wsprintf
とりあえず思いついた、上記二つの関数1,000,000回連続呼び出しという
意味の無さそうなテストの結果。
UNICODE : GetTextExtentPoint=2.406sec wsprintf=2.407sec
MBCS : GetTextExtentPoint=2.547sec wsprintf=2.735sec
結論:
差はあるっつえばある
668
名前:
デフォルトの名無しさん
:05/03/01 20:00:35
>>663
漏れもOutprocのCOMにするのに1票。簡単だから。
何らかの事情でそれが出来ないなら、自前でサーバプロセスを作って、
クライアントはWindows Messageなりソケットなりで繋げて使う。
669
名前:
デフォルトの名無しさん
:05/03/01 20:04:25
>>666
え?
それじゃ、_wfopen()、fgetws()をテキストモードで用いるのと同じだろw
>>667
GUならびにリソースを文字列渡しAPIで操作する機会は少ない。
1秒に1000回あるかどうか。
実際に圧倒的に多いのはユーザが用いる文字列比較関数・文字列操作関数。
この作業は、ユーザによるただのメモリ操作に属するが、
しかしこの作業がプログラム処理の主体になる。
670
名前:
デフォルトの名無しさん
:05/03/01 20:07:52
>669
fgetwsとはMultiByteToWideCharの呼び出し頻度が異なる。
その上スレが違う。
671
名前:
デフォルトの名無しさん
:05/03/01 20:09:35
msvcrtはもはやAPIの一種だろ
アフォ
672
名前:
デフォルトの名無しさん
:05/03/01 20:10:56
えーとUNICODEについていけないUNIX厨乙?
673
名前:
デフォルトの名無しさん
:05/03/01 20:11:45
>>669
メモリ帯域は最近比較的多目なので、文字列操作で1バイトずつ処理するのも
1ワードずつ処理するのもたいして変わらないような気がする。
扱う対象がSJISならSJISのままでやればよろし、というのは当然だけどさ。
674
名前:
デフォルトの名無しさん
:05/03/01 20:12:27
ワードはプリフィックス付くからx86系では不利
675
名前:
663
:05/03/01 20:23:49
色々制約が付いちゃってるのでOutProcのCOMとか使えないのでループさせる方法で行きます。
答えて頂いた方々、ありがとうございました。
AdvancedWindowsは買ってみようと思います。
676
名前:
デフォルトの名無しさん
:05/03/01 21:14:26
これもスレ違いだけど、STLのアルゴリズムとかstd::wstring、つまりstd::char_traits<wchar_t>とかだとどうなんだろうか。
677
名前:
デフォルトの名無しさん
:05/03/01 22:22:44
アプリケーション1→|
|自前DLL→ハードウェア
アプリケーション2→|
678
名前:
デフォルトの名無しさん
:05/03/01 22:26:31
>>663
DLLはそれぞれのプロセスでLoadする必要があることは理解してる?
679
名前:
デフォルトの名無しさん
:05/03/01 22:28:16
DLL側で排他制御すりゃいいじゃん
680
名前:
デフォルトの名無しさん
:05/03/01 22:31:27
>>679
付属DLLが排他処理を実現していると何度言えば(ry
むしろ、その排他処理を無効化したい質問者の真意を汲めと何度言えば(ry
681
名前:
デフォルトの名無しさん
:05/03/01 22:33:55
1. DLLをどっかでロードしたらハードウェア制御スレッドを作り待機
2. プロセスがアタッチしたら歯痛スレッド作る
これだけでしょ?
682
名前:
デフォルトの名無しさん
:05/03/01 22:34:55
_tcsicmp()とlstrcmpi()の違いを記述しなさい。
また、その処理速度の違いについても記述しなさい。
683
名前:
デフォルトの名無しさん
:05/03/01 22:36:45
strcmpごときの速度でガタガタ言ってんじゃねーよヴォケ
684
名前:
デフォルトの名無しさん
:05/03/01 22:42:17
クラッキングしたいと言っている質問者に
なぜか自前の排他処理を紹介する日本語の不自由なスレ住人。
1.DLLを使うミニプログラムを作成する。
2.そのミニプログラムは起動時の引数指定で異なる動作を行い、すぐに終了する。
3.2つのプログラムから好きな時にミニプログラムをキックする。。
685
名前:
デフォルトの名無しさん
:05/03/01 22:42:40
リソースが1っこだけならかなり簡単な問題だと思うが。
Windowsならなおさら。
686
名前:
デフォルトの名無しさん
:05/03/01 22:46:41
663は単にスレッドとプロセスの違いを知らない人みたいだが。
687
名前:
デフォルトの名無しさん
:05/03/01 22:48:07
AdvancedWindows読めといったはずだが。
688
名前:
デフォルトの名無しさん
:05/03/01 22:48:39
684=663な気ガス
689
名前:
684
:05/03/01 22:49:46
>>684
のDLLは付属DLL。
対処法その2
1.「付属DLLを使うプログラム」をウィンドウアプリとして作成。
2.「付属DLLを使うプログラム」はメッセージループさせつつ常駐。
3.別プログラムから「付属DLLを使うプログラム」にユーザー定義メッセージなどを送る。
690
名前:
デフォルトの名無しさん
:05/03/01 22:53:25
>>682
_tcsicmp()はCライブラリ関数(の処理系独自拡張)。lstrcmpi()はWinAPIの関数。
lstrcmpi()は一般に時間が掛かる(と言われている)DLLの関数を呼び出すことになるので、
計測してみたら(どの程度の差が出るかはともかくとして)おそらくlstrcmpi()が_tcsicmp()より遅くなるだろう。
691
名前:
684
:05/03/01 22:53:45
対処法その3
1.「付属DLLを使うプログラム」をソケットサーバーとして作成。
2.「付属DLLを使うプログラム」をlistenさせつつ常駐。
3.別プログラムから「付属DLLを使うプログラム」にソケットで命令送信。
692
名前:
デフォルトの名無しさん
:05/03/01 22:54:12
メッセージループとか意味不明なこといってる可哀想な684は放置ということでOK?
693
名前:
デフォルトの名無しさん
:05/03/01 22:56:49
>>692
その2、その3は妥当だと思うけどね。 SendMessageって使ったことないの??
694
名前:
デフォルトの名無しさん
:05/03/01 22:58:12
>>690
あのさあ、msvcrt.dll使うことにしたらどのみちdllの関数呼び出すんだけど
695
名前:
デフォルトの名無しさん
:05/03/01 22:58:49
なんでわざわざメッセージキューなんて使うのかな・・
不思議
696
名前:
デフォルトの名無しさん
:05/03/01 22:59:38
一番の対処法は、付属DLLのマニュアルを良く読むことだと思う。
697
名前:
デフォルトの名無しさん
:05/03/01 23:00:23
>>693
=684
ちょっと黙っててもらえる?
698
名前:
デフォルトの名無しさん
:05/03/01 23:02:46
>>694
スマソ
忘れていた。
699
名前:
デフォルトの名無しさん
:05/03/01 23:03:20
問題は
>>663
がWindowsの排他処理を理解してるのかどうか
700
名前:
デフォルトの名無しさん
:05/03/01 23:06:09
DLL関数の呼び出しはIAT(インポートアドレステーブル)というものあってだね、
それ経由で間接的に呼び出されるのだよ。
だから静的リンクされたライブラリよりちょっとばかし不利になる。
不利といっても参照かjmpが一回増えるだけだけどね。
ということがAdvancedWindowsに書いてあったりなかったり・・
701
名前:
デフォルトの名無しさん
:05/03/01 23:08:59
今、確信をもって言えることは質問に対して見当違いな排他処理を説明して
その間違いを指摘した善意の別人を質問者と同一人物と思い込んで
勝手に他人を自演認定しているテンパッたアフォが一名、
このスレを荒らしているということだ。
702
名前:
デフォルトの名無しさん
:05/03/01 23:09:23
>>669
そのDLLがどんなものかわからないけど簡単にリソースのオープンとクローズが
できるならプロセス間の排他処理でいけますが、
オープンのときにハードウェアに時間のかかる初期化処理が発生するなどの
理由でそういった操作が不可能なんじゃないかな。
そういう理由なら1プロセスに処理を集中する必要があるように思うよ。
703
名前:
デフォルトの名無しさん
:05/03/01 23:10:14
まあ、これには例外があって
GetProcAddressで得たDLL関数はIATを経由せずに呼び出せる。
GetProcAddressは直接エクスポートされた関数アドレスを返す。
だからもしもより速い方が良いと思うのなら、
使うDLL関数をGetProcAddressで取得しなおすと良いかもしれない。
704
名前:
デフォルトの名無しさん
:05/03/01 23:11:20
切れた。
>>703
は
>>701
の続き。
705
名前:
デフォルトの名無しさん
:05/03/01 23:13:25
>>701
だから最初に起動したプロセスのDLLの一番はじめに制御スレッド立ち上げて
プロセスアタッチ毎に排他制御しろってのが伝わってないみたいだね。
わかんないのはDLLの原理が理解できてないだけ。
706
名前:
デフォルトの名無しさん
:05/03/01 23:16:25
>>705
一番わかってないのは君だと思う。
707
名前:
デフォルトの名無しさん
:05/03/01 23:16:48
701が痛すぎる件について
708
名前:
デフォルトの名無しさん
:05/03/01 23:20:38
一番痛いのは
>>705
だろうね。
ユーザーが何をしたいか、どのような制限化にあるか、
全く理解できていないと思われる。
いつからユーザーがDLLを作ることが前提になったのか不思議だ。
709
名前:
デフォルトの名無しさん
:05/03/01 23:24:31
まあ、質問自体がスレ違いだけどねw
710
名前:
デフォルトの名無しさん
:05/03/01 23:27:21
つまりさあ、
制御DLLだけは663が弄れるんだろ?
アプリ1 → 制御DLL → 付属DLL
最初のアプリ、制御DLLで2つスレッド立ち上げるんだわ。
付属DLLを制御するスレッド
制御スレッドに命令を送るスレッド
ついでにCreateMutexかなんかの排他制御用オブジェクトと
命令通知用のイベントオブジェクトを作る。
データを共有したかったら制御DLL内に共有セクション作ればいい。
アプリ2 → 制御DLL
制御DLLがこんときに立ち上げるスレッドは1つ
制御スレッドに命令を送るスレッド
付属DLLはアプリ1の制御DLLが占有してるのでリンクしない。
これでわかんねーかなあw
711
名前:
デフォルトの名無しさん
:05/03/01 23:28:26
>>690
_stricmp()ではないけど、UNICODE環境で速度を試してみた。
400000個ほどあるUnicode文字列をqsortでソートする際の比較関数を変えてみた。
_tcsicmp() 17秒 ※実際は_wcsicmp()
lstrcmpi() 2秒
予想に反してlstrcmpi()が速いのだけど、_wcsicmp()が異様に遅いともいえる。
誰か理由を教えてくれ・・・。
712
名前:
デフォルトの名無しさん
:05/03/01 23:34:13
lstrcmpiってUNICODEじゃないと思うけど。
なんか勘違いしてるとか。
713
名前:
デフォルトの名無しさん
:05/03/01 23:35:22
つーか無能の人はどうして粘着してるの?
714
名前:
デフォルトの名無しさん
:05/03/01 23:35:30
>>710
怒るかもしれないが、書かせてもらう。
制御DLLが必須ということになっている時点で、
君の中で強固な脳内補完が行われたのではないかね?
いくら排他制御を実装したところで、それを利用できるのは自分のプログラムだけだろ。
715
名前:
デフォルトの名無しさん
:05/03/01 23:39:03
>>712
人を勘違い呼ばわりする前に、自分が勘違いしてないか
確認した方がいいぞ。
WinBase.hでも見てこい。
716
名前:
デフォルトの名無しさん
:05/03/01 23:41:12
>>714
やっぱ俺の説明ちっとも理解してないみたいね。
>自分のプログラムだけだろ。
これ、何の反論なの?
俺
>>663
に対して説明したつもりなんだけど。
意味不明なんですがw
717
名前:
デフォルトの名無しさん
:05/03/01 23:42:16
こんばんわ
アドビのホットショップみたいに、
ツールウィンドウをクリックしても、親のウィンドウはアクティブなままにしておく方法を教えていただきたいのですが。
通常だと、TOOLWINDOWをクリックすると、親のウィンドウは非アクティブ化しますが、
TOOLWINDOWも親のウィンドウも両方ともアクティブのままにしておきたいのです。
よろしくお願いいたします。
718
名前:
デフォルトの名無しさん
:05/03/01 23:42:48
663が退場している以上その辺は闇のなかだなぁ。前提が異なるだけで
みんなそんなにはずしてないように思うけどね。
ただいえることは、675の書き込みが微妙すぎる(笑
719
名前:
デフォルトの名無しさん
:05/03/01 23:47:41
一家に一冊AdvancedWindows
720
名前:
デフォルトの名無しさん
:05/03/01 23:49:41
>>718
>みんなそんなにはずしてないように思うけどね。
排他処理を用意しようとしている人は、思い切りはずしているでしょw
制御DLLを作ってもかまわないが、排他処理を入れる意味が全くない。
721
名前:
デフォルトの名無しさん
:05/03/01 23:53:38
↑馬鹿?
722
名前:
デフォルトの名無しさん
:05/03/01 23:57:30
>>720
付属DLLを複数で使うための排他制御なんだが。
付属DLLからぶら下がってるハードウェアは関係ない。
なんも理解してないな。
723
名前:
デフォルトの名無しさん
:05/03/01 23:59:18
ちなみにさあ、
>制御DLLが必須
とか妙な思い込みしてるみたいだけど、
DLL化しなくていいなら直接アプリ自身で制御DLLの役やっても変わらないが。
いいかげんAdvancedWindowsでも読んだら?
724
名前:
デフォルトの名無しさん
:05/03/02 00:01:58
>>711
普段気にしたことはないけどsetlocale系の設定って影響すんでしょうかね?
APIのlstrcmpiはコントロールパネルのロケールで動いてるんでしょうけど。
725
名前:
デフォルトの名無しさん
:05/03/02 00:10:25
>>720
=
>>714
=
>>708
=
>>706
=
>>701
=
>>693
=
>>684
726
名前:
デフォルトの名無しさん
:05/03/02 00:16:24
>>694
Cランタイムをスタティックリンクすることも多いよ
727
名前:
デフォルトの名無しさん
:05/03/02 00:17:03
>>717
Spy++かなんかでホットショップとやらの窓のスタイルがどうなってるのか調べる。
728
名前:
デフォルトの名無しさん
:05/03/02 00:20:28
>付属DLLからぶら下がってるハードウェアは関係ない。
だからこそ、排他処理を自分で作る意味ないつってんだろ、アフォかお前?
オナニー排他処理なぞ作って楽しいのか?
729
名前:
デフォルトの名無しさん
:05/03/02 00:22:39
キチガイを飼ってるスレ
730
名前:
デフォルトの名無しさん
:05/03/02 00:31:14
>>728
の脳内設計では排他制御は必要ないってことでいいんじゃない?
きちんと説明できないアフォみたいだし。
731
名前:
デフォルトの名無しさん
:05/03/02 00:34:01
そろそろWin32APIの話に戻ろうぜ。
732
名前:
デフォルトの名無しさん
:05/03/02 00:38:50
>>711
Cランタイムをスタティックリンクしてもダイナミックリンクしても
結果は同じ?
733
名前:
デフォルトの名無しさん
:05/03/02 00:44:54
>>689
ブラックボックス(この場合付属DLL)を抱えてる以上、メッセージ待機は危険。
ブラックボックス内でメッセージ処理されたら悲惨なことになる。
734
名前:
デフォルトの名無しさん
:05/03/02 00:49:27
これもある前提の上の話だけど、
ひとつの制御スレッドだけが付属DLLをコントロールする構造なら、各アプリからの
命令はシリアライズ(順番化)するまたはされるから排他処理はいらないとも
いえるし、シリアライズすることが一種の排他処理ともいえる。
それでも複数の命令をセットで発行する必要があるなら排他は必要になりますけどね。
最初の質問をした人が戻ってこないとこれ以上の議論は無意味だと思うよ。
>>733
「付属DLLを使うプログラム」<−ここは弁護するよ、これをよくみよう
735
名前:
711
:05/03/02 00:52:38
>>732
>>711
はスタティックリンクを使ってます。
ロケールは、_tsetlocale(LC_ALL, _T(".ACP")) を実行しています
当方の環境は、ToolKit2003のため、
標準C++ライブラリをダイナミックリンクするためのMSVCPRT.LIBがないため、
即座にダイナミックリンクを試せないので、ダイナミックリンクでやる気が沸きません。
C ランタイム ライブラリ用MSVCRT.LIBは入っているのですが。
なぜ、このような中途半端な配布になっているのか謎です。
736
名前:
デフォルトの名無しさん
:05/03/02 00:54:58
>>733
>ブラックボックス内でメッセージ処理されたら悲惨なことになる。
もっと詳しく
737
名前:
デフォルトの名無しさん
:05/03/02 00:57:09
Ruby!!!!!!!!!!!!!!!!!!!!!!!
738
名前:
デフォルトの名無しさん
:05/03/02 01:05:13
技術を駆使して無意味なことを実装しようとしている馬鹿ばかり。
排他処理のための排他処理かよ。
ポーリングだけで十分じゃん。氏ね、お前ら。
739
名前:
デフォルトの名無しさん
:05/03/02 01:09:18
今時ポーリングだけですむような簡単なアプリを作ってらっしゃると。
740
名前:
デフォルトの名無しさん
:05/03/02 01:11:19
>>739
今時好きなだけフリーズする簡単なアプリを作ってらっしゃると。
741
名前:
デフォルトの名無しさん
:05/03/02 01:13:22
>>738
誰がどの書き込みかはわからなくなってるけど、
なんかこれは関係ないのが煽りにきた感じだな。
742
名前:
デフォルトの名無しさん
:05/03/02 01:14:25
ポーリング機能だけで十分だろ。
待つかどうかはユーザアプリ次第。
同期をDLLのなかでやろうとする馬鹿まで現れたか。
743
名前:
デフォルトの名無しさん
:05/03/02 01:14:27
ポーリングて聞くと、CPU占有率100%のあれですか?
744
名前:
デフォルトの名無しさん
:05/03/02 01:15:44
>>742
なんなの、そのユーザーアプリって。
ポーリングはどこに掛かってるの?
745
名前:
デフォルトの名無しさん
:05/03/02 01:25:06
まあいいじゃないか。
CPUを遊ばせておくよりは。
746
名前:
デフォルトの名無しさん
:05/03/02 01:30:43
AdvancedWindowsのおかげで彼女ができました
747
名前:
デフォルトの名無しさん
:05/03/02 01:36:47
AdvancedWindowsで城が建ちました。
748
名前:
デフォルトの名無しさん
:05/03/02 01:59:35
>>735
それ(_tcsicmp)ねえ、_tsetlocale呼ばないとすごく速くなるんだけど、
そのかわり"ABCDE"と"abcde"が区別されちゃう。
デフォルトでは大小文字判定する文字が限定されているようだ。
749
名前:
デフォルトの名無しさん
:05/03/02 02:53:57
_tcsicmp()と比較する場合は、
lstrcmpi()じゃなくてCompareString()でやらないとアンフェアということかねぇ。
750
名前:
デフォルトの名無しさん
:05/03/02 04:09:18
RickEditで、そのエディタ上でドラッグの動作をすると、
カーソルの点滅が止まってしまい、CPU率がすごく重くなるんですが、
解決方法がありましたら教えてください。
左ボタンを最初に押した時のみメッセージが来るようで、
押し続けている時は来なく、それはサブクラス化した場合も同じなので、
どれかのメッセージを防いで解決しようと思いましたがうまくいきませんでした。
■過去ログ置き場に戻る■
1-
前250
次250
最新50
DAT2HTML
0.33f Converted.