Win32API質問箱 Build68
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2008/07/06(日) 21:53:24やさしいお兄さんやお姉さんたちが答えてくれるかも。
過去スレ、関連リンクは>>2-10くらい。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。英語版(http://msdn2.microsoft.com/library/)の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
- Win32API質問箱 wiki
http://wiki.livedoor.jp/program1/d/FrontPage
Win32API質問箱 Build67
http://pc11.2ch.net/test/read.cgi/tech/1212931246/
0153デフォルトの名無しさん
2008/07/12(土) 21:39:46もはや過去の関数だもん。しかたない
0154デフォルトの名無しさん
2008/07/12(土) 21:42:06最も普及しているバージョンのWindowsだけ対応してりゃいいじゃない
0155デフォルトの名無しさん
2008/07/12(土) 23:15:52WIN32APIとC++を使った、ダイアログをメインウインドウのような用途で動かしているアプリケーションを作成しています。
コンボボックスの選択されている項目が変更された瞬間をつかまえて、
他のコンボボックスの内容を書き換えたいのですが、
どんなメッセージを指定すれば、コンボボックスの項目変更を捕まえることができるでしょうか?
…質問の情報不足があれば、またおっしゃってください。
よろしくお願いいたします
0156デフォルトの名無しさん
2008/07/12(土) 23:16:580157デフォルトの名無しさん
2008/07/12(土) 23:45:510158デフォルトの名無しさん
2008/07/12(土) 23:53:02検索は・・・かれこれ1時間弱ほど
検索したキーワードはグーグルでコンボボックス コントロール メッセージ 変更 イベント win32API ダイアログなど
MSDNでのMessage ComboBoxで検索など
ちょっと、キーワードのネタ切れもしてきて、直接こちらでお聞きするという選択を最終手段としてとってしまいました
何か、ヒントやウェブページのリンクだけでもかまいませんので、お教え願えませんか?
0159デフォルトの名無しさん
2008/07/12(土) 23:58:49CBN_EDITCHANGE, CBN_EDITUPDATE, CBN_SELCHANGEこの辺じゃないか?
0160デフォルトの名無しさん
2008/07/13(日) 00:01:45まだ未確認ですが、ありがとうございます!
0161デフォルトの名無しさん
2008/07/13(日) 00:26:490162デフォルトの名無しさん
2008/07/13(日) 00:45:230163デフォルトの名無しさん
2008/07/13(日) 00:47:400164デフォルトの名無しさん
2008/07/13(日) 01:00:270165デフォルトの名無しさん
2008/07/13(日) 01:07:56プロシージャの中で
case MM_WON_DONE
でwaveファイルの再生が終わったときに処理を書きたいんですが、
コンパイルするとMM_WON_DONEが定義されてないって出るんですが・・・
使い方間違ってます?
0166デフォルトの名無しさん
2008/07/13(日) 01:18:46016737
2008/07/13(日) 02:07:12ありがとうございます!リッチエディットです。
>> EN_IMECHANGE 捕まえて ImmGetContext() 〜 ImmSetCompositionFont()
これ参考にさせて頂いて以下のようなコードを書いてみたのですが、
--------------------------------------------
LPCWSTR window_class = _T("SampleClass");
LPCWSTR window_title = _T("title");
LWND hWND = FindWindowW(window_class, window_title);
HIMC hIMC = ImmGetContext(hWND);
---------------------------------
みたいなコードを書いてみたのですが、
HIMC hIMC = ImmGetContext(hWND);
のところで
undefined reference to `ImmGetContext@4'
のようなエラーが出ます。
これは該当のウィンドウが見つからなかった、ということなのでしょうか・・
アプリケーションのウィンドウを生成する時に使うクラス名と、生成したウィンドウのタイトルを引数にすればよいのですよね・・?
どなたかアドバイス頂けると幸いです。
0168デフォルトの名無しさん
2008/07/13(日) 02:14:051.まずヘルプでImmGetContextの説明を開く
2.必要なライブラリを調べる
3.リンクする
0169デフォルトの名無しさん
2008/07/13(日) 02:47:10LPCWSTR window_title = _T("title");
こんなの書いてる時点でWin32の基礎も分かって無さそうだなあ
てか変数に代入する必要あるか?
017037
2008/07/13(日) 03:09:07>> 169
HWND hWND = FindWindowW(_T("SampleClasss"), _T("title"));
これでよかったですね。。
Win32apiもここ2〜3日で触り始めたばっかりですがC++も初心者です(^^);
>> こんなの書いてる時点でWin32の基礎も分かって無さそうだなあ
どこがマズいのでしょうか??
>>168
imm.hだけではだめだったんですね・・
libimm32.aをリンクしたらエラー出ずにビルドできました。(MinGWです。)ありがとうございますm(_ _)m
ただビルドは出来たのですが、ちゃんとIMEとやりとりできていないようです・・
ImmGetOpenStatus() も試してみましたがIMEのON状態が検地できません。
FindWindowW() で正しいウィンドウハンドルを取得できていないってことでしょうか。
0171デフォルトの名無しさん
2008/07/13(日) 03:10:46>> どこがマズいのでしょうか??
何のために_Tを使ってるのかよく考えろ。
HWND hWND = FindWindowW(_T("SampleClasss"), _T("title"));
これもおかしいだろ。
0172デフォルトの名無しさん
2008/07/13(日) 05:08:05A版関数とW版関数の違いはWin32apiで必須の知識なんで注意
0173デフォルトの名無しさん
2008/07/13(日) 06:49:300174デフォルトの名無しさん
2008/07/13(日) 10:01:210175デフォルトの名無しさん
2008/07/13(日) 10:11:26・かゆいところに手が届く
・C#の裏で行われていることについて理解が深まる
当てはまらなければC#使ってなさい。
0176デフォルトの名無しさん
2008/07/13(日) 12:02:290177デフォルトの名無しさん
2008/07/13(日) 12:44:510178デフォルトの名無しさん
2008/07/13(日) 12:53:250179デフォルトの名無しさん
2008/07/13(日) 13:17:37C#でなきゃ楽になるって話でもないような……
0180デフォルトの名無しさん
2008/07/13(日) 15:02:010181デフォルトの名無しさん
2008/07/13(日) 15:16:52お遊び用の言語だな
0182デフォルトの名無しさん
2008/07/13(日) 15:17:320183デフォルトの名無しさん
2008/07/13(日) 15:30:24やりたい事ができないのは言語のせいじゃなくてお前の能力のせい
0184デフォルトの名無しさん
2008/07/13(日) 15:34:160185デフォルトの名無しさん
2008/07/13(日) 16:23:020186デフォルトの名無しさん
2008/07/13(日) 16:52:090187デフォルトの名無しさん
2008/07/13(日) 19:15:420188デフォルトの名無しさん
2008/07/13(日) 19:19:200189デフォルトの名無しさん
2008/07/13(日) 19:38:01キャラクターコード(WM_CHARのwParam))を取得したい場合
対象エディットボックスをサブクラス化させないとできないのでしょうか?
0190デフォルトの名無しさん
2008/07/13(日) 22:51:270191デフォルトの名無しさん
2008/07/13(日) 23:31:190192デフォルトの名無しさん
2008/07/13(日) 23:49:140193デフォルトの名無しさん
2008/07/14(月) 05:22:25EN_UPDATEとかそういうNotificationに乗ってやってくるかどうか。
来るならそれ使えばいいし、来ないならサブクラス化。
0194デフォルトの名無しさん
2008/07/14(月) 07:22:41調べてないなら回答するなカス
0195デフォルトの名無しさん
2008/07/14(月) 07:24:48そんくらい自分で調べろカス
0196デフォルトの名無しさん
2008/07/14(月) 07:35:30つうか、調べもしないで的外れな回答する奴って何考えてるのかね?
余所の掲示板ならポイント稼ぎの為にそういう事してる馬鹿がいるが2ちゃんじゃそんなの無意味だろうに
0197デフォルトの名無しさん
2008/07/14(月) 09:14:22まったくだ。
回答するなら調べてテストコード書いて確認してからにするよなJK
0198デフォルトの名無しさん
2008/07/14(月) 09:47:52質問者からの返事は一言、「だめでした」
0199193
2008/07/14(月) 10:05:31的外れじゃないよ?
回答のとおりに調べれば正解にたどり着くもの。
質問者にとって役に立つでしょう。
役に立つのに何で怒ってんの?
0200デフォルトの名無しさん
2008/07/14(月) 11:21:240201デフォルトの名無しさん
2008/07/14(月) 12:01:160202デフォルトの名無しさん
2008/07/14(月) 12:19:11中の人は多分、プライドだけは人一倍高いオッサンだと思うけど
0203デフォルトの名無しさん
2008/07/14(月) 12:36:560204デフォルトの名無しさん
2008/07/14(月) 12:51:010205デフォルトの名無しさん
2008/07/14(月) 12:53:360206デフォルトの名無しさん
2008/07/15(火) 02:30:52・人の揚げ足取ったり見下すのが大好き
・基本的に性格が悪い
・プライドが異様に高い
・自分の主張は絶対に譲らない頑固者
1 つでも該当する技術者は周囲から嫌われやすいので注意しましょう。
0207デフォルトの名無しさん
2008/07/15(火) 02:49:430208デフォルトの名無しさん
2008/07/15(火) 03:42:000209デフォルトの名無しさん
2008/07/15(火) 03:59:59・人の揚げ足取ったり見下すのが大好き
0210デフォルトの名無しさん
2008/07/15(火) 04:03:030211デフォルトの名無しさん
2008/07/15(火) 04:08:390212デフォルトの名無しさん
2008/07/15(火) 08:45:14の話の紹介があって、海では争いなく泳ぐのに水槽に入れるといじめが始ま
るといっていた。関心が内向きになるとそういう性向になるんだろう。
だからと言ってはナンだが、よその国では敵を海外に作って、国民の目を
そっちへ向けさせ、国内の矛盾への関心を希薄にする手も取られる。
0213デフォルトの名無しさん
2008/07/15(火) 10:11:23毒入り餃子だ何だってマスゴミに洗脳されてる
0214デフォルトの名無しさん
2008/07/15(火) 10:30:03こういう開き直りは嫌われる条件には入っていないのかな?
0215デフォルトの名無しさん
2008/07/15(火) 11:13:12こういうしつこい性格は嫌われる条件には入っていないのかな?
0216デフォルトの名無しさん
2008/07/15(火) 11:17:27*'``・* 。
| `*。
,。∩ * 糞スレストッパ〜
+ (^ω^) *。+゚
`*。 ヽ、 つ *゚*
`・+。*・' ゚⊃ +゚
☆ ∪~ 。*゚
`・+。*・ ゚
0217デフォルトの名無しさん
2008/07/15(火) 11:17:420218デフォルトの名無しさん
2008/07/15(火) 12:36:18ワロタ
0219デフォルトの名無しさん
2008/07/15(火) 16:08:24自分だったら間違いを直してくれて感謝するだろうな。
0220デフォルトの名無しさん
2008/07/15(火) 16:48:190221デフォルトの名無しさん
2008/07/15(火) 16:50:400222デフォルトの名無しさん
2008/07/15(火) 17:02:230223デフォルトの名無しさん
2008/07/15(火) 17:42:170224デフォルトの名無しさん
2008/07/15(火) 17:46:400225デフォルトの名無しさん
2008/07/15(火) 18:01:390226デフォルトの名無しさん
2008/07/15(火) 18:04:14どうして調べもしないで質問するのかね?
0227デフォルトの名無しさん
2008/07/15(火) 18:10:25サブクラス化は親子じゃなくても、自前のプロシージャを通過するようにできる。
0228デフォルトの名無しさん
2008/07/15(火) 18:26:19いや別にそんなこと聞かれてないから。
0229デフォルトの名無しさん
2008/07/15(火) 18:29:190230デフォルトの名無しさん
2008/07/15(火) 18:29:40調べたら解決しました。不快なおもいをさせてしまいすみません。
>>227
関係ないです。ありがとうございました。
0231デフォルトの名無しさん
2008/07/15(火) 18:30:04質問者じゃないならすっこんでな
0232デフォルトの名無しさん
2008/07/15(火) 18:31:15関係ないです。
0233デフォルトの名無しさん
2008/07/15(火) 18:31:580234デフォルトの名無しさん
2008/07/15(火) 18:34:40どうでもいいです。
0235デフォルトの名無しさん
2008/07/15(火) 18:42:47実は一人なんじゃないか。
0236デフォルトの名無しさん
2008/07/15(火) 19:05:44んな訳ねーだろ
0237デフォルトの名無しさん
2008/07/15(火) 20:56:27∨
___ _
/ ____ヽ /  ̄  ̄ \
| | /, −、, -、l /、 ヽ きみ頭だいじょうぶ?
| _| -|○ | ○|| |・ |―-、 |
, ―-、 (6 _ー っ-´、} q -´ 二 ヽ |
| -⊂) \ ヽ_  ̄ ̄ノノ ノ_ ー | |
| ̄ ̄|/ (_ ∪ ̄ / 、 \ \. ̄` | /
ヽ ` ,.|  ̄ | | O===== |
`− ´ | | _| / |
0238デフォルトの名無しさん
2008/07/15(火) 21:07:24記述を見つけたんだけど何を解放してあげればいいの?
定義がDWORD_PTR *SHGetFileInfo
ってなってるから
DWORD *pRet = SHGetFileInfo()
delete pRet
とかってやればいいの?
0239デフォルトの名無しさん
2008/07/15(火) 21:39:390240デフォルトの名無しさん
2008/07/15(火) 22:13:59MSDN嫁
アイコンハンドルのことだ。
>If SHGetFileInfo returns an icon handle in the hIcon member of the SHFILEINFO structure pointed to by psfi,
>you are responsible for freeing it with DestroyIcon when you no longer need it.
0241デフォルトの名無しさん
2008/07/16(水) 00:09:26サウンド、プログラムの起動で音がなる設定をしている環境で、
CreateProcessを使ってバックグラウンドでexeを動かした時も音が鳴ってしまいますが
これをプログラムのコードで抑止する方法がありますか?
0242デフォルトの名無しさん
2008/07/16(水) 00:12:210243デフォルトの名無しさん
2008/07/16(水) 00:29:520245デフォルトの名無しさん
2008/07/16(水) 07:29:47コマンドライン引数処理したいのですが
パースしてくれるような関数ってありますかね?
0246デフォルトの名無しさん
2008/07/16(水) 07:35:05コンソールならエントリポイントを
int main(int argc, char *argv[])
にしてみては?
for(int i=0;i<argc;i++) printf("%s\n", argv[i]);
でどんなものが渡されるか確認できる
0247デフォルトの名無しさん
2008/07/16(水) 07:51:490248デフォルトの名無しさん
2008/07/16(水) 08:05:15A版とペアになってないしargv[argc]がNULLでなかったりするから却下
0249デフォルトの名無しさん
2008/07/16(水) 08:12:480250デフォルトの名無しさん
2008/07/16(水) 08:39:36ばーか
argv[argc]はNULLでないといけないんだよ
0251デフォルトの名無しさん
2008/07/16(水) 08:42:160252デフォルトの名無しさん
2008/07/16(水) 08:42:45↑話を理解してない馬鹿
■ このスレッドは過去ログ倉庫に格納されています