Win32API質問箱 Build ..
910:デフォルトの名無しさん
07/05/08 18:38:50
WS_EX_LAYEREDはWS_CHILDは無理
911:デフォルトの名無しさん
07/05/08 18:42:29
コントロールをサブクラス化して、WM_PAINTをがんばる
912:909
07/05/08 18:44:56
>>910
ありがと。 WS_CHILD 相手はダメであったかー
913:デフォルトの名無しさん
07/05/08 19:15:51
簡易切り替え有効状態のXPまたはvistaで、ユーザー名とパスワードがわかってる
別のユーザー(未ログオン状態)にAPIだけで切り替えって無理ですかね。
すでにログオンしてるならWinStationConnect()で切り替えられるってとこまでは何とか
なったんだけど、未ログオンのユーザーのログオンを自動化する方法が解らなくて・・・
というか方法無さげ?
914:デフォルトの名無しさん
07/05/08 19:41:26
フックってあの赤くて毛むくじゃらで頭にプロペラがついたやつ?
915:デフォルトの名無しさん
07/05/08 19:47:38
>>914
135
246R
↑これ
916:デフォルトの名無しさん
07/05/08 20:04:58
WM_INITDIALOGの反対はWM_DESTROYとWM_CLOSEどっち
917:デフォルトの名無しさん
07/05/08 20:18:31
どっちも違う
918:デフォルトの名無しさん
07/05/08 20:21:17
多分 WM_CLOSE
呼び出されるタイミングで、まだ 子供window が生き残ってるから
WM_INITDIALOG は子供window が出来上がった後に来るしね
919:デフォルトの名無しさん
07/05/08 21:09:01
子供window
920:デフォルトの名無しさん
07/05/08 21:18:52
child window の直訳と考えれば別に間違ってるわけでもない
921:デフォルトの名無しさん
07/05/08 21:20:11
出来た子供がオスかメスかはどう判断すればいいの?
922:デフォルトの名無しさん
07/05/08 21:23:12
ちんこ見ればいい
923:デフォルトの名無しさん
07/05/08 21:24:41
BOOL GetWindowSex( HWND hwnd, LPWINSEX lpWinSex );
書いてて虚しくなった
924:デフォルトの名無しさん
07/05/08 21:30:41
Win3.1まではWINS構造体
32bit時代からはWINSEX構造体
925:デフォルトの名無しさん
07/05/08 21:44:37
FOX★公認!!!
俺たちのクリックで日本を一位にしようぜ!!
“30年は日本に手は出せないな”という勝ち方をしたい
スレリンク(news4vip板)
1. ポーランド 139,797,680
2. チリ 137,040,439
3. ★日本 86,475,213★
4. イスラエル 80,930,530
5. スロベニア 57,137,042
6. フィンランド 40,857,499
石を投げる戦争から人は進化・進歩を遂げ、剣や槍などの武器をもって戦うようになった
人間はさらに発展し兵器を使う戦争を始めた
そして今、指先一つを武器とした電脳戦争が勃発したのであった・・・
皇国を勝利へと導くには貴様らの参戦が不可欠である
・戦場
URLリンク(www.clickclickclick.com)
・まとめサイト
URLリンク(www33.atwiki.jp)
926:デフォルトの名無しさん
07/05/08 21:59:59
>>887
せめてProgram Filesの位置はSHGetFolderPathで取ろう
927:デフォルトの名無しさん
07/05/08 22:52:25
実行ファイルのアイコンを設定するにはどうすればいいんですか?
ウィンドウの左上のアイコンは変えれたのですが・・・
928:デフォルトの名無しさん
07/05/08 22:54:53
>>925
BitBlt() じゃなくて StretchBlt() 使えって。
929:デフォルトの名無しさん
07/05/08 23:06:07
じゃあこれから子ウィンドウの事は子供windowって言おうぜwwwwwwwwwwwwwww
930:デフォルトの名無しさん
07/05/08 23:15:53
>>929
んじゃ親ウインドウは、大人ウィンドウかww
931:デフォルトの名無しさん
07/05/08 23:27:21
>>918
WM_DESTROYでも子ウィンドウが生きてることは保証されてるぞ
>>927
エクスプローラーでは一番若いIDのアイコンが表示される
932:デフォルトの名無しさん
07/05/08 23:31:15
何かおばちゃん細胞みたいなノリだな。
933:デフォルトの名無しさん
07/05/08 23:33:25
親ウィンドウが、ダイアログボックスとかを開いている状態で、
親ウィンドウにSendMessageはできるが、
PostMessageができない状態であるか
調べるやり方がありましたら教えてください。
934:デフォルトの名無しさん
07/05/08 23:35:11
EnableWindowでいいんじゃね?
935:デフォルトの名無しさん
07/05/08 23:36:01
IsWindowEnabledだ。
936:デフォルトの名無しさん
07/05/08 23:37:01
>>933
モーダルダイアログ開いててもPostMessage出来るぞ
937:デフォルトの名無しさん
07/05/08 23:55:09
>>931
それで、アイコンが変わらなかったのか・・・
ありがとうございました!無事解決しました。
938:デフォルトの名無しさん
07/05/09 00:12:13
>>937
更新タイミングの自由度は低いがアイコンハンドラを作ればエクスプローラ上での
実行形式ファイルのアイコンも変更可能だぞ。
939:933
07/05/09 00:14:08
>>934-936
ありがとうございます。
IsWindowEnabledでいけそうです。
後、MessageBoxはモーダルダイアログですかね。
第一引数をHWND、NULLどちらの場合でも、
WM_PAINTがメッセージループには来てくれないみたいです。
InvalidateRectをしても直接コールバックの方に来てしまいます。
940:デフォルトの名無しさん
07/05/09 00:44:41
>>939
MessageBoxでは内部でメッセージループが回ってるんだよ
941:デフォルトの名無しさん
07/05/09 00:45:10
UpdateWindowしてないか
942:933
07/05/09 01:03:39
>>940>>941
少し理解できました。
UpdateWindowはしていません。InvalidateRectはしています。
UpdateはSendMessage(WM_PAINT)、InvalはPostMessage(WM_PAINT)
だと思うので、意図したメッセージループに来てほしいのですが、
MessageBox独自のメッセージループに移行してしまうので、
処理が変わってしまう感じですかね。
943:デフォルトの名無しさん
07/05/09 01:23:14
>>942
InvalidateRectは無効領域を追加するだけ。
無効領域があり、かつメッセージキューにメッセージが無くなったときに
システムはWM_PAINTを生成する。
944:933
07/05/09 01:44:32
>>943
なるほど、ありがとうございます。
945:デフォルトの名無しさん
07/05/09 03:11:07
>>47
linux自体Solarisや*BSDから見ればカスなんだが
946:デフォルトの名無しさん
07/05/09 03:23:02
>>945
よう、カス
947:デフォルトの名無しさん
07/05/09 08:01:47
僕バッカー!
948:デフォルトの名無しさん
07/05/09 14:14:25
>>942
そこらへんのメッセージループでもなにか特定の処理を行いたい場合には、
ローカルフックを使うのが簡単。dllもいらないし。
949:デフォルトの名無しさん
07/05/09 16:03:32
アイコン入りのDLLからのアイコン画像を取得する方法を教えてください。
これ
URLリンク(ringonoki.net)
みたいに32x32x8のように色とサイズの情報を取得したいです。
950:デフォルトの名無しさん
07/05/09 16:50:08
>>946-947
バッカス
951:デフォルトの名無しさん
07/05/09 17:03:51
>>949
URLリンク(www.google.co.jp)
952:デフォルトの名無しさん
07/05/10 01:37:55
>>
ありがとうございます。やってみます。
953:デフォルトの名無しさん
07/05/10 04:15:56
>>951
EnumResourceNamesの第1引数に指定するHMODULEはどうやって取得すればよいですか?
LoadLibraryでHMODULEを取得しようとしましたがshell32.dllではエラーになり、
APPWIZ.DLLではLoadLibraryは成功しましたがEnumResourceTypesがTRUEを返しました。
954:デフォルトの名無しさん
07/05/10 07:41:33
ググレカス
955:デフォルトの名無しさん
07/05/10 07:57:30
>>953
> LoadLibraryでHMODULEを取得しようとしましたがshell32.dllではエラーになり、
エラーとは何か?
> APPWIZ.DLLではLoadLibraryは成功しましたがEnumResourceTypesがTRUEを返しました。
TRUEを返すと何か問題が?
956:デフォルトの名無しさん
07/05/10 08:01:56
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.
最後の一文って一体。。。
957:デフォルトの名無しさん
07/05/10 08:15:28
俺も使ったことないな、最後の引数
958:デフォルトの名無しさん
07/05/10 15:26:38
Explorerの右上の旗のロゴを隠したいのですが、
SetWindowPosやShowWindowで隠そうとしても、枠が残ってしまいます。
専用の関数みたいなものがあるのでしょうか?
959:デフォルトの名無しさん
07/05/10 15:39:27
>>958
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Toolbar\Explore/ShellBrowser
ITBarLayoutのアドレス0x10のバイトの下位3bit目をオフ
960:デフォルトの名無しさん
07/05/10 15:41:35
下位3bit目じゃなくて下位4bit目だった。ようするに0x08
961:デフォルトの名無しさん
07/05/10 15:54:00
>>960
できました、ありがとうございます。
962:デフォルトの名無しさん
07/05/10 21:42:34
質問です
HTMLのFORMタグでSUBMITすると何も指定していなければ
FORMのACTIONで指定したURL等に
?---=---&___=___と付とついて送信されますよね?
その時日本語が値のときにエンコードされているように見えるのですが、
これはAPIとして提供されている機能でしょうか?
そうであればAPI名を教えてくれませんか?
963:デフォルトの名無しさん
07/05/10 21:43:13
そんなWin32APIはありません。
964:デフォルトの名無しさん
07/05/10 21:50:59
METHOD=GET の話か
まあURLエンコードでググれ
965:デフォルトの名無しさん
07/05/10 22:02:44
IMultiLanguageインターフェイスのConvertStringメソッドとかあるけど、
ここじゃスレ違いかもね
966:デフォルトの名無しさん
07/05/10 22:21:50
BitBltについて質問です。
転送元と転送先が同じDCの場合でも、この関数はちゃんと動く保障はありますか?
967:デフォルトの名無しさん
07/05/10 22:39:33
>>966
厳密にはない。
GetDeviceCaps関数のRASTERCAPSで確認。
968:デフォルトの名無しさん
07/05/10 23:41:11
WINDOWPLACEMENTのshowCmdあたりをいぢってて質問。
最大化してたウィンドウが最小化したあと、元の状態に戻すにはどうすればよいですか?
SW_RESTOREだと最大化状態が解除されてしまうので。
969:デフォルトの名無しさん
07/05/11 00:50:22
Windows Picture and Fax ViewerをCreateProcessで実行したいのですが、
notepad,mspaintのような起動方法は可能でしょうか?
970:デフォルトの名無しさん
07/05/11 01:20:37
関連付けのレジストリを見れば分る
971:デフォルトの名無しさん
07/05/11 01:21:04
時々エディットコントロールのボーダーが見えなくなったり、
エディットコントロールが見えなくなって下のBMP画像が出てきたりするバグで
困っています。これらはWM_PAINTで再描画された時に直るのですが、
むしろ、WM_PAINTで大きなBMP画像が毎回毎回再描画されているせいで
エディットコントロールの表示がおかしくなるのではないかと思ってます。
BMP画像は壁紙としてウィンドウと同じサイズのものを使用しているのですが、
WM_PAINTでことある毎に再描画せずにずっと表示させるようなことは可能なのでしょうか?
972:デフォルトの名無しさん
07/05/11 05:35:42
システムを終了するときの終了オプションダイアログ(コンピューターの電源を切る)のような
完全なシステムモーダルなダイアログボックス、或いはウィンドウってどうやって作ればいいんでしょう?
ダイアログボックスにシステムモーダル属性を付けてもだめでしたorz
タイマーでフォーカスを取り返し続けるっていうのは無しで、なにかいい方法ありますか?
973:デフォルトの名無しさん
07/05/11 06:20:01
HWndにNULLを入れて
974:デフォルトの名無しさん
07/05/11 06:32:30
>>973
無理ですたorz
975:デフォルトの名無しさん
07/05/11 07:24:03
グローバルフックしたら?
976:デフォルトの名無しさん
07/05/11 07:28:52
システムモーダルつけてアド民では?
977:デフォルトの名無しさん
07/05/11 08:06:40
システム乗っ取るようなものじゃないかそれ?
そんなお手軽に実現できていいのかなあ
978:972
07/05/11 08:14:53
どうしても乗っ取りたいんです。
979:デフォルトの名無しさん
07/05/11 08:47:58
濃そうだから海外のシステム八苦系のコミュで聞いたら?答えが出ると思うよ
980:デフォルトの名無しさん
07/05/11 09:10:22
タイーホ!
981:デフォルトの名無しさん
07/05/11 09:27:54
GINA?
982:デフォルトの名無しさん
07/05/11 10:21:17
>>978は騙りだから無視して
フリーのソフトで部屋にいない間、キャプチャーしてるんだけど(LiveCapture2ってソフトです)
デスクトップロックが効かないんですよね
それで、もし誰か侵入者がロックの掛かってないPCに触ったら(マウスが移動したら)
システムモーダルのダイアログを表示してパスワードを要求する、って感じでプログラムを作ってるわけです
多分もっといい方法があるんだろうけど、結構面白いからこれでやってみようかなぁと
どんなもんでしょうか
983:デフォルトの名無しさん
07/05/11 10:27:22
誰か次スレ立てて
984:デフォルトの名無しさん
07/05/11 10:27:57
>>981
NT,2000,XPなら正解。GinaのShellShutdownDialogあたりちゃうか。
>>982
やってみれば?OSのリストア何回かすることになると思うけどw。
985:デフォルトの名無しさん
07/05/11 10:29:17
>>982
っ スクリーンセーバー
986:デフォルトの名無しさん
07/05/11 13:09:53
982のやりたいことはスクリーンセーバーそのものだよなw
987:デフォルトの名無しさん
07/05/11 14:00:42
>>971
>WM_PAINTでことある毎に再描画せずにずっと表示させるようなことは可能なのでしょうか?
それは無理。
WS_CLIPSIBLINGS とか WS_CLIPCHILDREN とかそのあたりをちゃんと理解して
適切に描画されるようにコードを直せば良い。
988:デフォルトの名無しさん
07/05/11 14:22:29
>>982
俺も >>985-986 に同意。
コアをスクリーンセーバーで作れば、OSのダイアログが利用できる。
スクリーンセーバーが稼働中に録画するような構造にすれば、
まさに君の望む挙動になるんでない?
問題はスクリーンセーバ稼働中にLiveCapture2というソフトが
ちゃんと裏で動いてくれるかどうかだけど。
そこがダメなら、そこを自作する方向に行くとか。w
仮に裏で動いてくれるなら、何も作る必要がないという事にならないか?
989:デフォルトの名無しさん
07/05/11 17:15:45
CreateDesktop してみればどうかな。
スクリーンセーバーも別デスクトップで動作していたと思う。
990:デフォルトの名無しさん
07/05/11 18:00:37
CreateDesktopしてもNT系ならCtrl+Alt+Delで解除されるよ。
パスワードかけるならスクリーンセーバーでOSに丸投げするか、GINAしかない。
991:デフォルトの名無しさん
07/05/11 18:03:14
しかしGINAはVistaでは廃止されてしまった。
Vistaで同じことやるにはMSとShell Credential Providerの開発契約しないとだめぽ
992:デフォルトの名無しさん
07/05/11 18:10:48
まじかよ・・・
993:デフォルトの名無しさん
07/05/11 18:15:22
開発契約なんぞ必要なのか?サンプルも公開されてるのに?
ドキュメントもご丁寧に日本語化されてるけど。
URLリンク(msdn.microsoft.com)
994:デフォルトの名無しさん
07/05/11 18:17:05
もういっちょ。
URLリンク(www.microsoft.com)
995:デフォルトの名無しさん
07/05/11 18:36:18
>>972
最大化したウィンドウ(タイトルバー無し、最上位)にデスクトップ画面を
描画して、そのウィンドウを親ウィンドウとしてダイアログを出せばいいんじゃね?
XPで終了ダイアログを出すと背景がだんだん白黒になっていくから
そういう仕組みでやってると思うけど。
996:デフォルトの名無しさん
07/05/11 19:51:15
>>993-994
Vistaβの頃のSDKには「詳細は問い合わせて契約してくれ」みたいな英文はあった気がした。
正規版になって普通に一般公開されたのかね。
997:デフォルトの名無しさん
07/05/11 20:21:34
デルファイでできたアプリケーションのダイアログウィンドウのハンドルについて質問です。
spy++では、親がTfrmMainというクラス名と判明しました
そこでGetWindowLongで親ハンドルを取得すると、親はTApplicationというクラス名でした。ここでもう整合性がないです
TApplicationの名前をもつハンドルを取得して、そのハンドルからダイアログハンドルを検索するためにFindWindowsExをしたのですが、Nullが返ってきました
いったいどんな親子関係なんでしょうか?
レスおながいします(´・ω・`)
998:デフォルトの名無しさん
07/05/11 20:31:28
見えない親ウインドウがある。
999:デフォルトの名無しさん
07/05/11 20:32:22 BE:124224588-2BP(222)
>>995
ホットキー止めないと。Alt+Tabとかで普通に抜けられる。
1000:デフォルトの名無しさん
07/05/11 20:32:46
次スレ
Win32API質問箱 Build53
スレリンク(tech板)
1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4983日前に更新/228 KB
担当:undef