Win32APIについての質問はこちらへどうぞ。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
■過去スレ
Win32API質問箱 Build122
http://echo.2ch.net/test/read.cgi/tech/1451988219/
探検
Win32API質問箱 Build123©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/10/08(土) 12:33:02.29ID:0jaJMPXG
344デフォルトの名無しさん
2017/01/23(月) 08:44:04.99ID:As9ZYPu9 そもそもどっちのプロセスがエラーを出してるかすら把握できてなさそう
子プロセス呼び出しはなんとなくコピペで扱うには荷が重い
子プロセス呼び出しはなんとなくコピペで扱うには荷が重い
345デフォルトの名無しさん
2017/01/25(水) 06:02:27.98ID:s4b0iZxC プロセスを起動して、ユーザーの入力に応答しているか確認するにはどうしたらいいでしょうか。
Process::Responding プロパティ以外の方法でお願いします。
うちの開発環境にはないので。
プロセスのウインドウを取得して、メッセージを送るくらいしか思いつかないのですが、ウィンドウがない可能性もあるし
もっとスマートな方法があればいいなと。
Process::Responding プロパティ以外の方法でお願いします。
うちの開発環境にはないので。
プロセスのウインドウを取得して、メッセージを送るくらいしか思いつかないのですが、ウィンドウがない可能性もあるし
もっとスマートな方法があればいいなと。
346デフォルトの名無しさん
2017/01/25(水) 07:20:09.51ID:fntd/u0o347デフォルトの名無しさん
2017/01/25(水) 09:04:47.86ID:paQpH1yu ネットワークプログラミングで言う所のキープアライブ的なのを実装じゃあかんの?
348デフォルトの名無しさん
2017/01/25(水) 10:50:26.10ID:SLV8VPLP349デフォルトの名無しさん
2017/01/25(水) 10:51:21.94ID:SLV8VPLP >ウィンドウがない可能性
プロセスId見て稼働率調べるかな
プロセスId見て稼働率調べるかな
350デフォルトの名無しさん
2017/01/25(水) 10:51:49.68ID:SLV8VPLP ああ無限ループで稼働率100%だとだめなのか
351デフォルトの名無しさん
2017/01/25(水) 12:52:29.97ID:uJriqNlz WaitForInputIdle
352デフォルトの名無しさん
2017/02/02(木) 12:01:31.08ID:386srHJg TrayNotifyWndにアプリアイコンを追加と削除をしたいのですが、どうすればよいでしょうか?
Shell_NotifyIconの登録みたいなやつです。
Shell_NotifyIconの登録と削除右派知っています。
Shell_NotifyIconの登録みたいなやつです。
Shell_NotifyIconの登録と削除右派知っています。
353デフォルトの名無しさん
2017/02/02(木) 12:17:03.67ID:Nq0thOwX Shell_NotifyIconでないならこれのことかな
https://msdn.microsoft.com/en-us/library/windows/desktop/cc144099(v=vs.85).aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/cc144099(v=vs.85).aspx
354デフォルトの名無しさん
2017/02/02(木) 13:37:19.22ID:386srHJg >>353
情報ありがとうございます。やりたい内容と、ちょっと違います。
windows8.1/10とかだと、タスクバーが上か下にあるとき、タスクトレイの右側か左側にTrayNotifyWndに
[IME]、[タッチパネル向けのキーボード]、[通知]などが表示されていますよね?
それらの場所に、自作のアプリアイコンを作りたいのです。
スパイでみると、
通知 ハンドル 001016E キャプション 通知センター クラス TrayButton
キーボード ハンドル 0010172 キャプション タッチキーボード クラス TIPBand
IME ハンドル 0010156 キャプション 無し クラス Button
となっています。
親ハンドルからたどってクラスを見るとTrayNotifyWndとなっています。
知りたいのは、SHAppBarMessageを使ったタスクバーみたいなウインドウではありません。
情報ありがとうございます。やりたい内容と、ちょっと違います。
windows8.1/10とかだと、タスクバーが上か下にあるとき、タスクトレイの右側か左側にTrayNotifyWndに
[IME]、[タッチパネル向けのキーボード]、[通知]などが表示されていますよね?
それらの場所に、自作のアプリアイコンを作りたいのです。
スパイでみると、
通知 ハンドル 001016E キャプション 通知センター クラス TrayButton
キーボード ハンドル 0010172 キャプション タッチキーボード クラス TIPBand
IME ハンドル 0010156 キャプション 無し クラス Button
となっています。
親ハンドルからたどってクラスを見るとTrayNotifyWndとなっています。
知りたいのは、SHAppBarMessageを使ったタスクバーみたいなウインドウではありません。
355デフォルトの名無しさん
2017/02/02(木) 13:49:49.54ID:386srHJg googleの画像検索で googleimeとかってやると下のような画面がでますよね?
https://www.google.co.jp/search?q=googleime&biw=1280&bih=607&source=lnms&tbm=isch&sa=X&sqi=2&ved=0ahUKEwiZzey0zfDRAhUJbrwKHQ4dBuAQ_AUICCgD#imgrc=j130VRRhjR7jdM:
TrayNotifyWndでにて、設定メニュをいじっているような画面のようなプログラムを作りたいのです。
https://www.google.co.jp/search?q=googleime&biw=1280&bih=607&source=lnms&tbm=isch&sa=X&sqi=2&ved=0ahUKEwiZzey0zfDRAhUJbrwKHQ4dBuAQ_AUICCgD#imgrc=j130VRRhjR7jdM:
TrayNotifyWndでにて、設定メニュをいじっているような画面のようなプログラムを作りたいのです。
356デフォルトの名無しさん
2017/02/02(木) 13:52:18.95ID:89UtyOev Shell_NotifyIconで登録して、クリックされたらメニュー表示すればそれになる
357デフォルトの名無しさん
2017/02/02(木) 14:17:43.87ID:386srHJg >>356
一般的な、Shell_NotifyIconでタスクトレイの登録ではないです。
タスクトレイの横に登録する手続きが知りたいのです。
mozcのソースコードをgrepしたところShell_NotifyIconは使われていないようです。
comクラスとかでTrayNotifyWndに追加するような機能があるのかなぁ。。
一般的な、Shell_NotifyIconでタスクトレイの登録ではないです。
タスクトレイの横に登録する手続きが知りたいのです。
mozcのソースコードをgrepしたところShell_NotifyIconは使われていないようです。
comクラスとかでTrayNotifyWndに追加するような機能があるのかなぁ。。
358デフォルトの名無しさん
2017/02/02(木) 14:36:09.97ID:89UtyOev すまん。通知領域はその右側か盲目だった
直接CreateWindowでぶらさげちゃうとかできないかな
直接CreateWindowでぶらさげちゃうとかできないかな
359デフォルトの名無しさん
2017/02/02(木) 15:53:49.61ID:8dKrrq5G IMEツールバーみたいにタスクトレイにドッキングしたいってこと?
360デフォルトの名無しさん
2017/02/02(木) 16:11:08.48ID:386srHJg >>359
機能はIMEではないですが、そんなかんじです。
機能はIMEではないですが、そんなかんじです。
361デフォルトの名無しさん
2017/02/02(木) 18:11:54.04ID:gbCpBU15 TrayNotifyWndを親にしてCreateToolbarExで作ればいいんじゃないのかな
362デフォルトの名無しさん
2017/02/02(木) 19:12:40.06ID:qO0hDPsp363デフォルトの名無しさん
2017/02/02(木) 20:07:51.95ID:Eu4e1EaI >>362
多分ソースは言語バーのcomクラス呼び出しだけで、実際の実装はWindows側
多分ソースは言語バーのcomクラス呼び出しだけで、実際の実装はWindows側
364デフォルトの名無しさん
2017/02/02(木) 23:04:33.49ID:386srHJg >>363
ざっくり調べたところ、おっしゃる通り言語バーのcom呼び出してるだけっぽかったです。
>>361
HWND hTaskBar = ::FindWindow(L"Shell_TrayWnd", NULL);
HWND hTrayNotify = ::FindWindowEx(hTaskBar, NULL, L"TrayNotifyWnd", NULL);
hButton = CreateWindowEx(0,L"button",L"@",WS_CHILD | WS_VISIBLE,0,0,48,24,hTrayNotify,0,hInst,0);
一瞬ボタンが表示されて消えましたw
登録のさせ方がたぶん違いますよね。
TBBUTTON tbButton = { 0 , 0 , TBSTATE_ENABLED , TBSTYLE_BUTTON , 0 , 0 , 0 };
SendMessage(hTrayNotify, TB_ADDBUTTONS, 1, (LPARAM)&tbButton);
なにも起こらず。。orz
ざっくり調べたところ、おっしゃる通り言語バーのcom呼び出してるだけっぽかったです。
>>361
HWND hTaskBar = ::FindWindow(L"Shell_TrayWnd", NULL);
HWND hTrayNotify = ::FindWindowEx(hTaskBar, NULL, L"TrayNotifyWnd", NULL);
hButton = CreateWindowEx(0,L"button",L"@",WS_CHILD | WS_VISIBLE,0,0,48,24,hTrayNotify,0,hInst,0);
一瞬ボタンが表示されて消えましたw
登録のさせ方がたぶん違いますよね。
TBBUTTON tbButton = { 0 , 0 , TBSTATE_ENABLED , TBSTYLE_BUTTON , 0 , 0 , 0 };
SendMessage(hTrayNotify, TB_ADDBUTTONS, 1, (LPARAM)&tbButton);
なにも起こらず。。orz
365デフォルトの名無しさん
2017/02/02(木) 23:11:43.26ID:386srHJg HWND hTaskBar = ::FindWindow(L"Shell_TrayWnd", NULL);
HWND hTrayNotify = ::FindWindowEx(hTaskBar, NULL, L"TrayNotifyWnd", NULL);
だと、タスクトレイの内部に描画されてました。
やりたいことと違う;;
HWND hTrayNotify = ::FindWindowEx(hTaskBar, NULL, L"TrayNotifyWnd", NULL);
だと、タスクトレイの内部に描画されてました。
やりたいことと違う;;
366デフォルトの名無しさん
2017/02/03(金) 01:27:36.38ID:3xPmzf3n >>364
親側をsubclassしてボタン用のエリア常に用意してないからじゃない?
親側をsubclassしてボタン用のエリア常に用意してないからじゃない?
367デフォルトの名無しさん
2017/02/03(金) 09:17:19.56ID:pF10NEzN >>364
TrayNotifyWndが、もしツールバーのクラスを内部で保持してたら登録できるかなーと思いついての実験でした。。
ウインドクラスTrayNotifyWndにそんな機能はなかった。うまくいかないものですね。
TrayNotifyWndが、もしツールバーのクラスを内部で保持してたら登録できるかなーと思いついての実験でした。。
ウインドクラスTrayNotifyWndにそんな機能はなかった。うまくいかないものですね。
368デフォルトの名無しさん
2017/02/03(金) 09:34:28.94ID:pF10NEzN HWND hTaskBar = ::FindWindow(L"Shell_TrayWnd", NULL);
HWND hTrayNotify = ::FindWindowEx(hTaskBar, NULL, L"TrayNotifyWnd", NULL);
HWND hToolbarWindow32 = FindWindowEx(hTrayNotify, NULL, L"ToolbarWindow32", NULL);
printf("handle %p %p %p ", hTaskBar, hTrayNotify, hToolbarWindow32);
SendMessage(hToolbarWindow32, TB_ADDBUTTONS, 1, (LPARAM)&tbButton);
実験してだめだったコード。。こんな感じでした。ウインドハンドルは普通に取得は成功していたみたいなんですけどね〜
HWND hTrayNotify = ::FindWindowEx(hTaskBar, NULL, L"TrayNotifyWnd", NULL);
HWND hToolbarWindow32 = FindWindowEx(hTrayNotify, NULL, L"ToolbarWindow32", NULL);
printf("handle %p %p %p ", hTaskBar, hTrayNotify, hToolbarWindow32);
SendMessage(hToolbarWindow32, TB_ADDBUTTONS, 1, (LPARAM)&tbButton);
実験してだめだったコード。。こんな感じでした。ウインドハンドルは普通に取得は成功していたみたいなんですけどね〜
369デフォルトの名無しさん
2017/02/03(金) 11:42:55.01ID:mwiWK7Ca 指定したソフトが生きてるかフリーズしてるかを判断できるAPI教えてくださいよ
370デフォルトの名無しさん
2017/02/03(金) 12:11:25.19ID:oHw8NUL1 メッセージ投げて帰ってくるかどうか
371デフォルトの名無しさん
2017/02/03(金) 13:01:49.10ID:3xPmzf3n372デフォルトの名無しさん
2017/02/03(金) 14:07:18.26ID:pF10NEzN >>371
その画像だと、ウインドウが、タスクトレイの位置にありませんか?
タスクトレイの内部にアプリアイコンを作るのであれば、Shell_NotifyIconで登録すればいいだけです。
やりたいのは、その画像でいうと、時計の右横の通知領域の右にウインド領域を追加したいのです。
その画像だと、ウインドウが、タスクトレイの位置にありませんか?
タスクトレイの内部にアプリアイコンを作るのであれば、Shell_NotifyIconで登録すればいいだけです。
やりたいのは、その画像でいうと、時計の右横の通知領域の右にウインド領域を追加したいのです。
373デフォルトの名無しさん
2017/02/03(金) 14:11:00.00ID:mwiWK7Ca >>370
それだと帰ってこなかったら出した側も固まりませんか?
それだと帰ってこなかったら出した側も固まりませんか?
374デフォルトの名無しさん
2017/02/03(金) 14:13:38.31ID:oHw8NUL1 >>373
別スレッドからメッセージ投げて、メインでスレッド監視して待機時間オーバーしたかどうかで判定するとか
別スレッドからメッセージ投げて、メインでスレッド監視して待機時間オーバーしたかどうかで判定するとか
375デフォルトの名無しさん
2017/02/03(金) 14:20:41.69ID:mwiWK7Ca376デフォルトの名無しさん
2017/02/03(金) 14:22:20.52ID:3xPmzf3n >>372
タスクトレイの左側にある隠れたアイコンを表示するための ^ ボタンの上に作ったボタンが表示されてる
ウインドウ表示位置だけの問題で期待してる通りだと思うよ
http://i.imgur.com/dyVnefi.png
>>373
無限ループで処理してるかもしれないから、生き死にの定義による
タスクトレイの左側にある隠れたアイコンを表示するための ^ ボタンの上に作ったボタンが表示されてる
ウインドウ表示位置だけの問題で期待してる通りだと思うよ
http://i.imgur.com/dyVnefi.png
>>373
無限ループで処理してるかもしれないから、生き死にの定義による
377デフォルトの名無しさん
2017/02/03(金) 14:39:36.19ID:Q4UhsfCm >>375
IsHungAppWindow
IsHungAppWindow
378デフォルトの名無しさん
2017/02/03(金) 15:40:26.62ID:mwiWK7Ca379デフォルトの名無しさん
2017/02/03(金) 17:34:15.41ID:Q4UhsfCm >>378
PostMessageは相手の処理を待たないから当然。
GetWindowRectも相手のプロセスが情報を返すわけじゃないから当然。
その方法を試すならSendMessage。
>while(1)だとウィンドウの移動もできたので
コンパイラの最適化によって(無意味な)無限ループが消されているかも。
PostMessageは相手の処理を待たないから当然。
GetWindowRectも相手のプロセスが情報を返すわけじゃないから当然。
その方法を試すならSendMessage。
>while(1)だとウィンドウの移動もできたので
コンパイラの最適化によって(無意味な)無限ループが消されているかも。
380デフォルトの名無しさん
2017/02/03(金) 18:01:24.26ID:Q4UhsfCm381デフォルトの名無しさん
2017/02/03(金) 18:07:05.86ID:mwiWK7Ca >>379
失礼、PostMessageじゃなくてSendMessageでした。
while(1)はウィンドウは動かせますがフォーム自体は固まった状態でした(マウスカーソルがくるくるになります)
IsHungAppWindowで指定間隔で数回みて連続でTRUEなら落ちてると判断できそうな感じでした
しかしwhile(1)ではなく実際にどこかのDLL関数内で落ちてる場合とかにFindWindowでハンドルは取れるのでしょうか?
失礼、PostMessageじゃなくてSendMessageでした。
while(1)はウィンドウは動かせますがフォーム自体は固まった状態でした(マウスカーソルがくるくるになります)
IsHungAppWindowで指定間隔で数回みて連続でTRUEなら落ちてると判断できそうな感じでした
しかしwhile(1)ではなく実際にどこかのDLL関数内で落ちてる場合とかにFindWindowでハンドルは取れるのでしょうか?
382デフォルトの名無しさん
2017/02/03(金) 18:08:21.50ID:mwiWK7Ca383デフォルトの名無しさん
2017/02/04(土) 13:09:50.99ID:koQjiQcQ メッセージ投げといてタイムアウトしたらあとは知らないって
まるで鍵垢へのフォロリクか2ちゃんの独り言のようだ
まるで鍵垢へのフォロリクか2ちゃんの独り言のようだ
384デフォルトの名無しさん
2017/02/04(土) 13:21:18.26ID:cCtqcbdk ピンポーン 宅配便でーす お留守ですかー ピンポーン ピンポーン
385デフォルトの名無しさん
2017/02/04(土) 15:21:09.56ID:e9aNESBj 帰りに台車を放り投げて荷物を蹴とばすんですね判ります
386デフォルトの名無しさん
2017/02/05(日) 11:14:06.81ID:bZw/U4Ow 使い道が想像できない
387デフォルトの名無しさん
2017/02/05(日) 19:54:32.92ID:ajRW1B46 GetWindowRectで得た値から計算して
MoveWindowに使うとズレるんですがこれは仕様なんですか?
例えばGetWindowRectで
left=100 right=200
top=100 bottom=200
だったとして、これだと幅と高さが
101になるので
MoveWindow(hwnd,100,100,101,101,TRUE)
としたら幅と高さが1ドットずつ膨らんでしまいます
MoveWindowに使うとズレるんですがこれは仕様なんですか?
例えばGetWindowRectで
left=100 right=200
top=100 bottom=200
だったとして、これだと幅と高さが
101になるので
MoveWindow(hwnd,100,100,101,101,TRUE)
としたら幅と高さが1ドットずつ膨らんでしまいます
388デフォルトの名無しさん
2017/02/05(日) 19:59:38.66ID:lBwes1rb WindowsAPIのRect系は右と下の1ドットは含まれないはずだったが
389デフォルトの名無しさん
2017/02/05(日) 20:00:15.60ID:Kv3SwlRy ピクセルの左上の隙間の位置を返す仕様(Javaと同じ)
なので単純に差を出して指定しないと膨らむ
なので単純に差を出して指定しないと膨らむ
390デフォルトの名無しさん
2017/02/05(日) 20:02:41.46ID:wagcFIA6 >>387
画面DPI100%以外になってない?vista以降はそれ原因で従来のAPIの扱いが面倒になってる
画面DPI100%以外になってない?vista以降はそれ原因で従来のAPIの扱いが面倒になってる
391デフォルトの名無しさん
2017/02/05(日) 20:05:12.27ID:ajRW1B46 MSDNを見ると
GetClientRectはleftとtopが常に0で
rightとbottomには幅と高さが入ってくると書かれていて
事実その通りになっていますが
GetWindowRectのほうは
ウインドウの左上座標と右下座標と表記されてるので
right-left+1 が幅になるはずです
なのでこの仕様はおかしいと思います
GetClientRectはleftとtopが常に0で
rightとbottomには幅と高さが入ってくると書かれていて
事実その通りになっていますが
GetWindowRectのほうは
ウインドウの左上座標と右下座標と表記されてるので
right-left+1 が幅になるはずです
なのでこの仕様はおかしいと思います
392デフォルトの名無しさん
2017/02/05(日) 20:08:48.13ID:DkYFBwwC393デフォルトの名無しさん
2017/02/05(日) 20:19:29.52ID:ajRW1B46 オセロでなく碁盤で数えろってことですね
納得しました
納得しました
394デフォルトの名無しさん
2017/02/06(月) 11:44:22.96ID:atuXlQHb >>392この辺ちゃんと理解してないと1ドット足りないみたいな事態になるんだよな
VBerとか1オリジンでUboundとか慣れてるとドはまりしそう
VBerとか1オリジンでUboundとか慣れてるとドはまりしそう
395デフォルトの名無しさん
2017/02/06(月) 15:30:39.87ID:sNAkUIYE >>391
GetClientRectの話だけど
left=top=0だとして
right=bottom=1だったら
幅と高さは1で
ウィンドウは(0,0)-(0,0)で1ピクセルのウィンドウだから
やっぱり幅と高さは1だし矛盾しない
GetClientRectの話だけど
left=top=0だとして
right=bottom=1だったら
幅と高さは1で
ウィンドウは(0,0)-(0,0)で1ピクセルのウィンドウだから
やっぱり幅と高さは1だし矛盾しない
396デフォルトの名無しさん
2017/02/06(月) 16:17:17.14ID:atuXlQHb 画像の部分クリップとかやりだすとちょっと混乱したりする教訓か
ドトネトなんかではx y width heightなプロパティを別に持っている
ドトネトなんかではx y width heightなプロパティを別に持っている
397デフォルトの名無しさん
2017/02/06(月) 17:51:48.08ID:2YUAIh/k SetWindowPosとMoveWindowとで
ウィンドウを動かした時に何か違いはあるんでしょうか?
SetWindowPosでウィンドウは動かせるのに
MoveWindowは何のために用意されてるんですか?
ウィンドウを動かした時に何か違いはあるんでしょうか?
SetWindowPosでウィンドウは動かせるのに
MoveWindowは何のために用意されてるんですか?
398片山博文MZ ◆T6xkBnTXz7B0
2017/02/06(月) 18:06:24.84ID:myCEQNc2 >>397
SetWindowPosの方がフラグ指定や挿入位置指定など、できることが多い。
SetWindowPosの方がフラグ指定や挿入位置指定など、できることが多い。
399デフォルトの名無しさん
2017/02/07(火) 08:29:41.33ID:g0+JjgLn >>398
ではMoveWindowは何のために存在しているの
ではMoveWindowは何のために存在しているの
400デフォルトの名無しさん
2017/02/07(火) 09:23:30.46ID:mtDQmVBr フラグとか触らないでただ動かす時のため
401デフォルトの名無しさん
2017/02/07(火) 11:23:40.44ID:IHNU1ydF 昔のことは知らないけど SetWindowPos が後から追加されたんじゃないの
402デフォルトの名無しさん
2017/02/07(火) 11:40:48.78ID:+LdvU0fQ 理由も昔のことも知らないけど 今はMoveWindowの内部でSetWindowPosが呼ばれてたと思う
403デフォルトの名無しさん
2017/02/07(火) 15:19:54.85ID:LuCsRke8 後方互換性のため
404デフォルトの名無しさん
2017/02/07(火) 22:51:17.46ID:m2J0GXa0 DeferWindowPos
405デフォルトの名無しさん
2017/02/17(金) 18:42:29.90ID:xKxGFEhy 実行ファイルの埋め込みマニフェストの実体をいじらずに
内容を修正した上で起動したり、任意の外部マニフェストファイルを読めるように
操作できませんか?
具体的には、マニフェストのcompatibilityの項目なんですが。。。
内容を修正した上で起動したり、任意の外部マニフェストファイルを読めるように
操作できませんか?
具体的には、マニフェストのcompatibilityの項目なんですが。。。
406デフォルトの名無しさん
2017/02/17(金) 19:08:12.47ID:yGnzX63H OSのバージョンにより異なる
ttps://msdn.microsoft.com/ja-jp/library/ms235342%28VS.80%29.aspx
ttp://www.taosoftware.co.jp/blog/2008/02/windows_1.html
ttp://nekojiru.blog.so-net.ne.jp/2007-09-03
ttps://msdn.microsoft.com/ja-jp/library/ms235342%28VS.80%29.aspx
ttp://www.taosoftware.co.jp/blog/2008/02/windows_1.html
ttp://nekojiru.blog.so-net.ne.jp/2007-09-03
407デフォルトの名無しさん
2017/02/17(金) 19:35:32.23ID:xKxGFEhy Windows7以降は埋め込み優先で、
実行ファイルのマニフェスト自身を書き換える方法、レジストリでOS自体の設定をいじる方法、
ActivateActCtx()でcommctl.dllは変更できるっぽい?
ってのはわかったんですが、個別に実行ファイルをいじらずに操作する方法があるかな、と思った次第です。
実行ファイルのマニフェスト自身を書き換える方法、レジストリでOS自体の設定をいじる方法、
ActivateActCtx()でcommctl.dllは変更できるっぽい?
ってのはわかったんですが、個別に実行ファイルをいじらずに操作する方法があるかな、と思った次第です。
408デフォルトの名無しさん
2017/02/17(金) 19:51:35.09ID:Z3/lG4/1 ショートカット作って、そのプロパティにアクセスして、互換性編集して、そのショートカットで起動させるとか?
409デフォルトの名無しさん
2017/03/01(水) 19:41:47.62ID:GhHUeiw5 windows8.1/10 マルチモニター環境で、ウインドウの位置がタッチパネルデバイスを
有するモニターであるかを調べたい場合どうすればよいですか?
HMONITOR hMonitor = MonitorFromWindow(hWnd,MONITOR_DEFAULTTONEAREST);
これで、モニターのハンドルは調べられるのですが、
このモニターがタッチパネルを有するモニターを調べる場合どうすればいいかわかりません。
有するモニターであるかを調べたい場合どうすればよいですか?
HMONITOR hMonitor = MonitorFromWindow(hWnd,MONITOR_DEFAULTTONEAREST);
これで、モニターのハンドルは調べられるのですが、
このモニターがタッチパネルを有するモニターを調べる場合どうすればいいかわかりません。
410デフォルトの名無しさん
2017/03/01(水) 19:53:26.09ID:IeB4TnBd Win32_PointingDeviceあたりだろうな
411デフォルトの名無しさん
2017/03/02(木) 16:15:18.67ID:35Ccu8m+ Win32 Pointhig Device軽く調べたんですが、それっぽいのないですね;;
412デフォルトの名無しさん
2017/03/02(木) 16:33:06.48ID:j0RdOmJS それでタッチかどうかわかるでしょ
あとはWin32_VideoController、Win32_DesktopMonitor、GetMonitorInfoあたりと情報突き合わせたら
その座標がタッチ対応かわかる
あとはWin32_VideoController、Win32_DesktopMonitor、GetMonitorInfoあたりと情報突き合わせたら
その座標がタッチ対応かわかる
413デフォルトの名無しさん
2017/03/02(木) 17:34:40.28ID:HWkXh2UP 応用がきくプログラマーを目指せ
414デフォルトの名無しさん
2017/03/02(木) 19:31:01.50ID:ZV5SMkF2 ここさわって
っていううメッセージを描いておく
っていううメッセージを描いておく
415デフォルトの名無しさん
2017/03/02(木) 20:19:05.81ID:HWkXh2UP 俺ならそのメッセージでもマウス操作しかしなさそうだわw
416デフォルトの名無しさん
2017/03/02(木) 21:11:15.50ID:35Ccu8m+ ユーザー側に、全てのモニターをタッチさせて、有効無効を設定してくれとダイアログだろうかと思いましたが、
プライマリーモニターかどうかを調べるのは簡単だったので、プライマリーモニターのみ対応にしたほうが混乱ないかなーと思いました。
プライマリーモニターかどうかを調べるのは簡単だったので、プライマリーモニターのみ対応にしたほうが混乱ないかなーと思いました。
417デフォルトの名無しさん
2017/03/02(木) 21:14:09.87ID:35Ccu8m+ ユーザー側に、全てのモニターをタッチさせて、有効無効を設定してくれと、ダイアログを出そうかと思いましたが、
プライマリーモニターかどうかを調べるのは簡単だったので、プライマリーモニターのみ対応にしたほうが混乱ないかなーと思いました。
プライマリーモニターかどうかを調べるのは簡単だったので、プライマリーモニターのみ対応にしたほうが混乱ないかなーと思いました。
418デフォルトの名無しさん
2017/03/03(金) 12:32:15.32ID:IUFykjWp Windowsじゃ何やっても無駄ですよ。
生産性はないです。
まともにタブで操作すると考え方をタブに合わせて全体を設計し直さないとダメでです。
ポインターの概念を画像で処理する必要ががります。
マルチで接触してる部分の個々の中心点を求めて
接触している部分にボタンの候補があるかどうか
そういう処理を行わないとだめ
Windowsが使えないのは、ポインティングデバイスから無理に
座標変換してるので誤操作と誤作動だらけになる。
マイクロソフトにはこの分野は作れないと思いますよ。
生産性はないです。
まともにタブで操作すると考え方をタブに合わせて全体を設計し直さないとダメでです。
ポインターの概念を画像で処理する必要ががります。
マルチで接触してる部分の個々の中心点を求めて
接触している部分にボタンの候補があるかどうか
そういう処理を行わないとだめ
Windowsが使えないのは、ポインティングデバイスから無理に
座標変換してるので誤操作と誤作動だらけになる。
マイクロソフトにはこの分野は作れないと思いますよ。
419デフォルトの名無しさん
2017/03/03(金) 12:56:20.62ID:Loi48FLt 入力なんていう低レベルからシェア捕れる可能性を秘めてる
集金システムもまともなのがないからそこもね
ハードからソフトまでガチガチなiphoneやandroidと違ってビジネスチャンスに溢れた自由なOS。それがWindows
集金システムもまともなのがないからそこもね
ハードからソフトまでガチガチなiphoneやandroidと違ってビジネスチャンスに溢れた自由なOS。それがWindows
420デフォルトの名無しさん
2017/03/03(金) 16:55:05.95ID:7kccr9GO >>418
窓板に何年も毎日貼り付いてるキチガイタイポマカーのコピペじゃねえかw
窓板に何年も毎日貼り付いてるキチガイタイポマカーのコピペじゃねえかw
421デフォルトの名無しさん
2017/03/04(土) 13:10:48.65ID:aE/wnzST どんなに優れていても誰にも使われなければ意味が無い。
422デフォルトの名無しさん
2017/03/04(土) 13:24:45.44ID:il8vJgV1 使われてるやん
って言ったら使ってる奴がアホってか?
って言ったら使ってる奴がアホってか?
423デフォルトの名無しさん
2017/03/04(土) 14:25:59.12ID:GRvQ2lmz シェア獲得率と優劣は比例しない
424デフォルトの名無しさん
2017/03/04(土) 14:32:38.90ID:svzWwCAT そう言っておかないとシェア4%のMacなんか何の立場もないもんな
425デフォルトの名無しさん
2017/03/04(土) 14:46:44.82ID:nGVyMKq0 シェア獲得率が高いものは、シェアに優れてる
426デフォルトの名無しさん
2017/03/04(土) 15:10:40.29ID:aE/wnzST 別に使われてると思ってるなら良いんでない?
俺は趣味でもあり金を稼ぐ道具でもあるからMacなんて使わんけど。
だいたい、知らんもんで金は稼げない。
俺は趣味でもあり金を稼ぐ道具でもあるからMacなんて使わんけど。
だいたい、知らんもんで金は稼げない。
427デフォルトの名無しさん
2017/03/04(土) 18:17:19.42ID:ZJLt6oM8 MacをPCだとするとシェア4%になるが
DTMコンソールやCG用レンダラーだとするとシェアが何倍にもなる不思議
DTMコンソールやCG用レンダラーだとするとシェアが何倍にもなる不思議
428デフォルトの名無しさん
2017/03/05(日) 13:07:20.68ID:Fl7T0tas >>419
でも優良見込み客を囲い込んでるのは i & a なんだよなぁ
でも優良見込み客を囲い込んでるのは i & a なんだよなぁ
429デフォルトの名無しさん
2017/03/05(日) 13:41:54.91ID:1JomNGIg >>427
2015年での世界におけるAppleのシェアは7.5%だそうです。
http://ascii.jp/elem/000/001/104/1104428/20160113_yohiro_PCShipment_03_767x659.png
2015年での世界におけるAppleのシェアは7.5%だそうです。
http://ascii.jp/elem/000/001/104/1104428/20160113_yohiro_PCShipment_03_767x659.png
430デフォルトの名無しさん
2017/03/05(日) 14:27:40.01ID:zkc5hO4d ベンダー出荷シェアとかOSの販売数ってのは利用率なシェアとは別モンだからな
431デフォルトの名無しさん
2017/03/05(日) 17:20:05.73ID:KDLljhIv 光学ドライブのAutoRunを無効にしてると、ディスクを入れ替えたことに気付けないみたいですが、
どうやったらディスクの情報をリフレッシュさせることができるのでしょうか?
ディレクトリ一覧を取得しようとしても、入れ替え前のディスクのディレクトリが出てきて困ってます
どうやったらディスクの情報をリフレッシュさせることができるのでしょうか?
ディレクトリ一覧を取得しようとしても、入れ替え前のディスクのディレクトリが出てきて困ってます
432デフォルトの名無しさん
2017/03/05(日) 19:16:54.98ID:zkc5hO4d 今のOSはAutoRun最初から無効だから、それが本当ならほとんどのPCでまともに取得できないってことになるな
ソースどっかミスってるんでしょ
ソースどっかミスってるんでしょ
433デフォルトの名無しさん
2017/03/05(日) 19:23:58.07ID:91bxBwXE もちろんエクスプローラーで開けば情報は更新されます。プログラムからトレイを開閉しても情報は更新されます。
光学ドライブのボタンで開閉すると、情報が更新されないままなのです。
光学ドライブのボタンで開閉すると、情報が更新されないままなのです。
434デフォルトの名無しさん
2017/03/05(日) 19:45:45.34ID:1JomNGIg435デフォルトの名無しさん
2017/03/10(金) 01:12:03.58ID:5qliBH2Z https://ideone.com/i4fQGS
Win32API勉強中なんですが、ウィンドウを作ることができません、hWndがNULLになってしまって途中で終わってしまいます
ウィンドウクラスの登録も失敗していないみたいなので原因がわかりません、どこが悪いのか教えてください
Win32API勉強中なんですが、ウィンドウを作ることができません、hWndがNULLになってしまって途中で終わってしまいます
ウィンドウクラスの登録も失敗していないみたいなので原因がわかりません、どこが悪いのか教えてください
436デフォルトの名無しさん
2017/03/10(金) 03:42:45.84ID:Vp9TD86Z 自分のウインドのZオーダーが変化したタイミングを調べたいのですが、
ウインドメッセージでなにかありましたっけ?
ウインドメッセージでなにかありましたっけ?
437デフォルトの名無しさん
2017/03/10(金) 03:48:47.30ID:G57q42um438デフォルトの名無しさん
2017/03/10(金) 04:07:50.94ID:Vp9TD86Z WM_WINDOWPOSCHANGEDは、だめでした。
ちなみにウインドウはCreateWindowExで、WS_EX_TOPMOSTしています。
ウインドウのスタートメニューが重なっと時にそれよりも前面に表示したいのですが。。
WM_WINDOWPOSCHANGEDにメッセージ来てないっぽいです。
今は、代案として1秒ごとに、SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);を入れているのですが、
もっといい方法ないでしょうか?
いま、GetWindowあたり調べているのですが、GetWindow(hWnd, GW_HWNDPREV);だと
imeのハンドルが取れるっぽいのでなんか違う。。orz
ちなみにウインドウはCreateWindowExで、WS_EX_TOPMOSTしています。
ウインドウのスタートメニューが重なっと時にそれよりも前面に表示したいのですが。。
WM_WINDOWPOSCHANGEDにメッセージ来てないっぽいです。
今は、代案として1秒ごとに、SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);を入れているのですが、
もっといい方法ないでしょうか?
いま、GetWindowあたり調べているのですが、GetWindow(hWnd, GW_HWNDPREV);だと
imeのハンドルが取れるっぽいのでなんか違う。。orz
439デフォルトの名無しさん
2017/03/10(金) 05:09:47.00ID:j91K0HTy ランサムウェアですねわかります
440デフォルトの名無しさん
2017/03/10(金) 05:17:14.60ID:Vp9TD86Z >>439
悪さするアプリじゃないんだが?
悪さするアプリじゃないんだが?
441デフォルトの名無しさん
2017/03/10(金) 07:10:36.82ID:n8W4k0Sb 異教徒の大量虐殺をためらわない一神教の思想性を理解するのに役立つ。
いずれ日本がアメリカに復讐する日が来るだろう。
いずれ日本がアメリカに復讐する日が来るだろう。
442デフォルトの名無しさん
2017/03/10(金) 07:13:07.30ID:n8W4k0Sb >>441 誤爆失礼
443デフォルトの名無しさん
2017/03/10(金) 08:47:49.51ID:Lkoti1g0 >>440
昔からこういう奴はいるから気にするな
昔からこういう奴はいるから気にするな
444デフォルトの名無しさん
2017/03/10(金) 14:11:40.65ID:wwCDmvkp 図星ですねわかります
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★11 [樽悶★]
- 【いちご高騰】ヤマザキのクリスマスケーキ、いちご無し販売 [おっさん友の会★]
- 外国人の犯罪率は日本人の1.72倍 警察庁が短期滞在者除いた数字を参院内閣委で答弁★2 [七波羅探題★]
- 【日中対立】 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ [♪♪♪★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- ひろゆき氏 高市首相の台湾有事発言 「日本が得たものあまりない。経済的なマイナスは明確に存在」 [冬月記者★]
- 5:55:55:55チャンス🤡🎰
- Redditの外国人たち、なぜか日本の江戸時代の『五人組』システムに興味津々。めっちゃ↑付いてるのに日本人の俺が知らない😰 [718678614]
- 【すべてが】𝗮𝗺͜𝗮͉𝘇𝗼𝗻ブラックフライデーSALE総合【いいだろ!】 [194819832]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【ポケットに手】中国のネトウヨ、「この映像を見ると誇りに思える」 「こういう風に日本を教育すべきだ」 [241672384]
- 【悲報】高市政権、ホタテ輸出の支援検討 [834922174]
