じゃあこれから子ウィンドウの事は子供windowって言おうぜwwwwwwwwwwwwwww
>>929 んじゃ親ウインドウは、大人ウィンドウかww
>>918 WM_DESTROYでも子ウィンドウが生きてることは保証されてるぞ
>>927 エクスプローラーでは一番若いIDのアイコンが表示される
何かおばちゃん細胞みたいなノリだな。
親ウィンドウが、ダイアログボックスとかを開いている状態で、 親ウィンドウにSendMessageはできるが、 PostMessageができない状態であるか 調べるやり方がありましたら教えてください。
EnableWindowでいいんじゃね?
IsWindowEnabledだ。
>>933 モーダルダイアログ開いててもPostMessage出来るぞ
>>931 それで、アイコンが変わらなかったのか・・・
ありがとうございました!無事解決しました。
>>937 更新タイミングの自由度は低いがアイコンハンドラを作ればエクスプローラ上での
実行形式ファイルのアイコンも変更可能だぞ。
939 :
933 :2007/05/09(水) 00:14:08
>>934-936 ありがとうございます。
IsWindowEnabledでいけそうです。
後、MessageBoxはモーダルダイアログですかね。
第一引数をHWND、NULLどちらの場合でも、
WM_PAINTがメッセージループには来てくれないみたいです。
InvalidateRectをしても直接コールバックの方に来てしまいます。
>>939 MessageBoxでは内部でメッセージループが回ってるんだよ
UpdateWindowしてないか
942 :
933 :2007/05/09(水) 01:03:39
>>940 >>941 少し理解できました。
UpdateWindowはしていません。InvalidateRectはしています。
UpdateはSendMessage(WM_PAINT)、InvalはPostMessage(WM_PAINT)
だと思うので、意図したメッセージループに来てほしいのですが、
MessageBox独自のメッセージループに移行してしまうので、
処理が変わってしまう感じですかね。
>>942 InvalidateRectは無効領域を追加するだけ。
無効領域があり、かつメッセージキューにメッセージが無くなったときに
システムはWM_PAINTを生成する。
944 :
933 :2007/05/09(水) 01:44:32
>>47 linux自体Solarisや*BSDから見ればカスなんだが
僕バッカー!
>>942 そこらへんのメッセージループでもなにか特定の処理を行いたい場合には、
ローカルフックを使うのが簡単。dllもいらないし。
949 :
デフォルトの名無しさん :2007/05/09(水) 16:03:32
>> ありがとうございます。やってみます。
953 :
デフォルトの名無しさん :2007/05/10(木) 04:15:56
>>951 EnumResourceNamesの第1引数に指定するHMODULEはどうやって取得すればよいですか?
LoadLibraryでHMODULEを取得しようとしましたがshell32.dllではエラーになり、
APPWIZ.DLLではLoadLibraryは成功しましたがEnumResourceTypesがTRUEを返しました。
ググレカス
>>953 > LoadLibraryでHMODULEを取得しようとしましたがshell32.dllではエラーになり、
エラーとは何か?
> APPWIZ.DLLではLoadLibraryは成功しましたがEnumResourceTypesがTRUEを返しました。
TRUEを返すと何か問題が?
CreateFile の hTemplateFile って使えないの? ↓のようにやってもtest.txtの属性が、test2.txtにはコピーされないみたい。 HANDLE hFrom = ::CreateFile("c:\\test.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL); HANDLE hTo = ::CreateFile("c:\\test2.txt", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, hFrom); ::CloseHandle(hFrom); ::CloseHandle(hTo); >[in] Handle to a template file, with the GENERIC_READ access right. The template file supplies file >attributes and extended attributes for the file being created. This parameter can be NULL. 最後の一文って一体。。。
俺も使ったことないな、最後の引数
Explorerの右上の旗のロゴを隠したいのですが、 SetWindowPosやShowWindowで隠そうとしても、枠が残ってしまいます。 専用の関数みたいなものがあるのでしょうか?
>>958 HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar\Explore/ShellBrowser
ITBarLayoutのアドレス0x10のバイトの下位3bit目をオフ
下位3bit目じゃなくて下位4bit目だった。ようするに0x08
質問です HTMLのFORMタグでSUBMITすると何も指定していなければ FORMのACTIONで指定したURL等に ?---=---&___=___と付とついて送信されますよね? その時日本語が値のときにエンコードされているように見えるのですが、 これはAPIとして提供されている機能でしょうか? そうであればAPI名を教えてくれませんか?
そんなWin32APIはありません。
METHOD=GET の話か まあURLエンコードでググれ
IMultiLanguageインターフェイスのConvertStringメソッドとかあるけど、 ここじゃスレ違いかもね
BitBltについて質問です。 転送元と転送先が同じDCの場合でも、この関数はちゃんと動く保障はありますか?
>>966 厳密にはない。
GetDeviceCaps関数のRASTERCAPSで確認。
WINDOWPLACEMENTのshowCmdあたりをいぢってて質問。 最大化してたウィンドウが最小化したあと、元の状態に戻すにはどうすればよいですか? SW_RESTOREだと最大化状態が解除されてしまうので。
969 :
デフォルトの名無しさん :2007/05/11(金) 00:50:22
Windows Picture and Fax ViewerをCreateProcessで実行したいのですが、 notepad,mspaintのような起動方法は可能でしょうか?
関連付けのレジストリを見れば分る
時々エディットコントロールのボーダーが見えなくなったり、 エディットコントロールが見えなくなって下のBMP画像が出てきたりするバグで 困っています。これらはWM_PAINTで再描画された時に直るのですが、 むしろ、WM_PAINTで大きなBMP画像が毎回毎回再描画されているせいで エディットコントロールの表示がおかしくなるのではないかと思ってます。 BMP画像は壁紙としてウィンドウと同じサイズのものを使用しているのですが、 WM_PAINTでことある毎に再描画せずにずっと表示させるようなことは可能なのでしょうか?
972 :
デフォルトの名無しさん :2007/05/11(金) 05:35:42
システムを終了するときの終了オプションダイアログ(コンピューターの電源を切る)のような 完全なシステムモーダルなダイアログボックス、或いはウィンドウってどうやって作ればいいんでしょう? ダイアログボックスにシステムモーダル属性を付けてもだめでしたorz タイマーでフォーカスを取り返し続けるっていうのは無しで、なにかいい方法ありますか?
HWndにNULLを入れて
974 :
デフォルトの名無しさん :2007/05/11(金) 06:32:30
グローバルフックしたら?
システムモーダルつけてアド民では?
システム乗っ取るようなものじゃないかそれ? そんなお手軽に実現できていいのかなあ
978 :
972 :
2007/05/11(金) 08:14:53 どうしても乗っ取りたいんです。