Win32APIについての質問はこちらへどうぞ。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
■過去スレ
Win32API質問箱 Build125
https://mevius.5ch.net/test/read.cgi/tech/1551247748/
Win32API質問箱 Build124
https://mevius.5ch.net/test/read.cgi/tech/1510395780/
■関連スレ
Visual Studio 2019 Part4 https://mevius.5ch.net/test/read.cgi/tech/1585715794/
Visual Studio 2017 Part7 https://mevius.5ch.net/test/read.cgi/tech/1558179898/
【C++】 DirectX初心者質問スレ Part41 【C】 https://mevius.5ch.net/test/read.cgi/tech/1521786252/
Win32API質問箱 Build126
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2020/05/01(金) 22:16:51.96ID:ZJ42fMZB527デフォルトの名無しさん
2021/04/06(火) 00:56:50.13ID:XnTB+TXu >>526
printfじゃねーんだぞ
printfじゃねーんだぞ
528デフォルトの名無しさん
2021/04/06(火) 01:41:26.10ID:Im/sjr+Q 書いていることが仕様であって、書いてないことは仕様ではない
CreateFileでパンが焼けないと書いていないからパンが焼けると判断するのはキチガイ以外他ない
CreateFileでパンが焼けないと書いていないからパンが焼けると判断するのはキチガイ以外他ない
529デフォルトの名無しさん
2021/04/06(火) 05:09:02.50ID:wdOO9l8n 全てのAPIにパンは焼けませんって書かせる基地外w
530デフォルトの名無しさん
2021/04/06(火) 09:41:04.31ID:9TplgPlq 文字列の痴漢は頼みもしないのに勝手にされたら邪魔だ
531デフォルトの名無しさん
2021/04/06(火) 12:59:56.19ID:EpJptavP テストもしないクズなのは確定なんだが
「仕様」かどうかが主語であるべきなのに、仕様かどうか「決まっている」というところを主語にして
続けていること自体がもはや技術者ではない
「仕様」かどうかが主語であるべきなのに、仕様かどうか「決まっている」というところを主語にして
続けていること自体がもはや技術者ではない
532デフォルトの名無しさん
2021/04/06(火) 17:02:11.12ID:BqyPmRZM533デフォルトの名無しさん
2021/04/06(火) 17:26:56.80ID:mi+0bNxV C言語って極力余計なことはしないスタンスだから
環境変数の展開はやりたければ、自前でやったうえで fopen に渡せであって
展開動作を行なうようなのは printf のフォーマットのように 特記されてる
気がする
環境変数の展開はやりたければ、自前でやったうえで fopen に渡せであって
展開動作を行なうようなのは printf のフォーマットのように 特記されてる
気がする
534デフォルトの名無しさん
2021/04/06(火) 17:50:22.69ID:yLju/cD3 >>526
でもレジストリに記録されているMSのデータって%1とかそういう系多いよね
でもレジストリに記録されているMSのデータって%1とかそういう系多いよね
535デフォルトの名無しさん
2021/04/08(木) 14:31:52.37ID:BYjSvKlS cout 前提に描かれてて
wcout 使うとおかしくなる
wcout 使うとおかしくなる
536デフォルトの名無しさん
2021/04/08(木) 15:39:57.79ID:96RQoR7P よかったね
537デフォルトの名無しさん
2021/04/12(月) 12:14:25.84ID:8dcLaG4E レジストリのCLSIDのツリー見ると吐きそうになるんだけどどうにかならないのか
538デフォルトの名無しさん
2021/04/12(月) 13:51:17.63ID:1iNVR91A あれは人の赴くところではない
539デフォルトの名無しさん
2021/04/12(月) 21:29:02.33ID:coUHZ64T プロセスにデバッガがアタッチできないようにしたい場合はどうすればいいのかな
540デフォルトの名無しさん
2021/04/13(火) 00:39:58.51ID:FveNCngD IsDebuggerPresentでも使ってアタッチされてたらプログラムを終了させる
カジュアルハック相手なら十分でしょ
本気でハックしてくる相手なら十分な対策は存在しないので考えるだけ無駄
Webアプリにするとか、攻撃者のテリトリーで秘密を実行しないことを検討しろ
カジュアルハック相手なら十分でしょ
本気でハックしてくる相手なら十分な対策は存在しないので考えるだけ無駄
Webアプリにするとか、攻撃者のテリトリーで秘密を実行しないことを検討しろ
541デフォルトの名無しさん
2021/04/13(火) 09:31:13.07ID:KgfckCYX 多重のアタッチってできたんでしたっけ?
自前で用意しておいたデバッガプロセスに先にアタッチさせておくとか?
自前で用意しておいたデバッガプロセスに先にアタッチさせておくとか?
542デフォルトの名無しさん
2021/04/13(火) 09:58:40.85ID:K5Ly9c1T それAPIHookでFALSE返されたら終わらない?
543デフォルトの名無しさん
2021/04/13(火) 15:25:33.02ID:FveNCngD だから考えるだけ無駄だって
544デフォルトの名無しさん
2021/04/13(火) 16:57:10.31ID:XgVnBmdE 難読化も含めて ある程度攻撃者に対して面倒くさくさせることは出来ても
バイナリ渡した時点で無敵はない。。。
バイナリ渡した時点で無敵はない。。。
545デフォルトの名無しさん
2021/04/13(火) 17:42:43.87ID:fWoCeTea サブスクが許される時代なので
546デフォルトの名無しさん
2021/04/16(金) 06:12:55.34ID:aOiTCYkX バッチファイルのコマンド文字列に含まれるマルチバイト文字が既定のコードページで解釈されることを保証するにはどうすればいい?
バッチファイルをパイプでつないだ別プロセスがSetConsoleOutoutCP()を呼び出すと、バッチファイルから呼ばれたコマンドで引数が文字化けしてしまうようだ
バッチファイルをパイプでつないだ別プロセスがSetConsoleOutoutCP()を呼び出すと、バッチファイルから呼ばれたコマンドで引数が文字化けしてしまうようだ
547デフォルトの名無しさん
2021/04/16(金) 06:14:31.74ID:aOiTCYkX SetConsoleOutputCP()に訂正。
hodeでSetConsoleOutputCP()が呼ばれると、foo.bat内のコマンドが正しく引数を受け取れない
foo.bat | hoge
hodeでSetConsoleOutputCP()が呼ばれると、foo.bat内のコマンドが正しく引数を受け取れない
foo.bat | hoge
548デフォルトの名無しさん
2021/04/16(金) 12:10:08.81ID:k5zYfJVI Windows 版 Ruby(MSYS2)では、端末の日本語入力でバグるので、あきらめた。
CP932, UTF16LE などか?
UTF-8 にも設定できるようだが、それでもバグる。
自分で環境変数RUBYOPT に、--encoding=UTF-8 を設定しているからかも知れないけど
結局、Windows をあきらめて、Linux を使う事にした
WSL2, Ubuntu 18.04 の端末では、バグらない。
たぶん、UTF-8 に固定されているのだろう
CP932, UTF16LE などか?
UTF-8 にも設定できるようだが、それでもバグる。
自分で環境変数RUBYOPT に、--encoding=UTF-8 を設定しているからかも知れないけど
結局、Windows をあきらめて、Linux を使う事にした
WSL2, Ubuntu 18.04 の端末では、バグらない。
たぶん、UTF-8 に固定されているのだろう
549デフォルトの名無しさん
2021/04/16(金) 15:13:16.68ID:aOiTCYkX >>548
情報をありがとう
foo.bat標準出力の受信先プログラムhogeでSetConsoleOutputCP()を呼び出すのを可能な限り遅らせることで対処することにします
batファイル全体が読み込まれてからバッチ処理されるのではなく一行ずつ解釈されていく副作用は以前にも経験したことがあります
バッチ実行中に、batファイルから一行を丸ごと削除したら、その行が呼ばれなかった
情報をありがとう
foo.bat標準出力の受信先プログラムhogeでSetConsoleOutputCP()を呼び出すのを可能な限り遅らせることで対処することにします
batファイル全体が読み込まれてからバッチ処理されるのではなく一行ずつ解釈されていく副作用は以前にも経験したことがあります
バッチ実行中に、batファイルから一行を丸ごと削除したら、その行が呼ばれなかった
550デフォルトの名無しさん
2021/05/04(火) 11:19:33.09ID:g/PMv139551デフォルトの名無しさん
2021/05/07(金) 17:44:46.80ID:X6HNN+5P WNDCLASSEX
↑明らかにセクハラ。発音するたびに気まずくなる。MSはセクハラ用語を廃止すべき。
↑明らかにセクハラ。発音するたびに気まずくなる。MSはセクハラ用語を廃止すべき。
552デフォルトの名無しさん
2021/05/07(金) 18:07:42.33ID:jd+9/N8Q >>551
中学生か
中学生か
553デフォルトの名無しさん
2021/05/08(土) 11:00:03.48ID:St3wXYGV 6809の0x1dとかね
554デフォルトの名無しさん
2021/05/09(日) 13:14:58.69ID:Ad3WTS9Y 先生「続きを読みなさい、551
551「はい、えーとワンドクラス…セ、セックス…
先生「ウィンドウクラスイーエックスな
みんな「クスクス…
551「はい、えーとワンドクラス…セ、セックス…
先生「ウィンドウクラスイーエックスな
みんな「クスクス…
555デフォルトの名無しさん
2021/05/09(日) 13:37:13.38ID:WMytKT+1 EX
556デフォルトの名無しさん
2021/05/17(月) 13:31:21.74ID:giSQx4b2 vc2017だとkernel32.libとかuser32.libとかリンクするファイルに書いておかないといけなかったけど
vc2019だと何も書かなくても勝手にリンクされてる気がするんだけど
気のせい?オプション変わった?
vc2019だと何も書かなくても勝手にリンクされてる気がするんだけど
気のせい?オプション変わった?
557デフォルトの名無しさん
2021/05/26(水) 08:51:12.20ID:Z7O4lEqC SelectObject 関数利用時の注意事項
https://jpdscore.github.io/blog/windowssdk/note-when-use-selectobject-function/
https://jpdscore.github.io/blog/windowssdk/note-when-use-selectobject-function/
558デフォルトの名無しさん
2021/05/26(水) 08:56:28.37ID:D9TQ/wp9 印刷関係全滅しそうな怖さがあるな
559デフォルトの名無しさん
2021/05/26(水) 09:06:31.66ID:VVGa10VW 白黒でしかプリントしないアプリとか影響ありそう。
サクラエディタのソースコードCImageListMgr.cppの668行付近に以下のようなコメントがある。
// 単にCreateCompatibleDC(0)で取得したdcや
// スクリーンのDCに対してCreateCompatibleBitmapを
// 使うとモノクロBitmapになる.
サクラエディタのソースコードCImageListMgr.cppの668行付近に以下のようなコメントがある。
// 単にCreateCompatibleDC(0)で取得したdcや
// スクリーンのDCに対してCreateCompatibleBitmapを
// 使うとモノクロBitmapになる.
560デフォルトの名無しさん
2021/05/26(水) 12:37:07.57ID:D7HypFOx 1.昔がいい加減過ぎたので治すのは良いこと
放置はセキュリティホールになりかねない
2.MSがWin32APIを終わらせるための陰謀
放置はセキュリティホールになりかねない
2.MSがWin32APIを終わらせるための陰謀
561デフォルトの名無しさん
2021/05/26(水) 14:11:55.64ID:e8ZuE3dO そもそもスクリーンDCにプリンターDCをSelectObjectする意味が分からん
印刷(プレビュー)のときに使うの?
それなら普通、描画処理に出力先のDCを渡してスケーリングするだけじゃないの?
印刷(プレビュー)のときに使うの?
それなら普通、描画処理に出力先のDCを渡してスケーリングするだけじゃないの?
562デフォルトの名無しさん
2021/05/26(水) 16:01:40.89ID:D7HypFOx WYSIWYG: 「しらんがな」
563デフォルトの名無しさん
2021/05/26(水) 18:02:46.62ID:pvBUijTc 今時プリンタにはあんま印刷しないけどpdfには出力したりするから影響はありそうだね
564デフォルトの名無しさん
2021/05/26(水) 21:49:00.27ID:OwCAYyY8 いまだにGDIがメンテされているのに驚いた
565デフォルトの名無しさん
2021/05/27(木) 14:47:18.05ID:U0nLnJgd pdf に出力するときに DC とか使わんやろ
566デフォルトの名無しさん
2021/05/27(木) 15:07:08.38ID:IJ5CRrqh >>565
え?
え?
567デフォルトの名無しさん
2021/05/27(木) 15:13:42.50ID:Rsi8GDuA DC使うにせよ>557みたいなことしてて問題になるとは思えんけどな
568デフォルトの名無しさん
2021/05/28(金) 08:24:04.05ID:8x0p4uVO >>565
??
??
569デフォルトの名無しさん
2021/05/28(金) 20:06:12.33ID:EVIGfz1i >>565
???
???
570デフォルトの名無しさん
2021/05/28(金) 20:58:05.97ID:bppkVuU/ 自作アプリのPDF作成はプリンタDCに頼らずに自力でやってる
571デフォルトの名無しさん
2021/05/29(土) 06:42:49.20ID:XrsIdb/I わぁそれは凄い。是非GhostScript越えの
OSSとして公開してくれたまえ
OSSとして公開してくれたまえ
572デフォルトの名無しさん
2021/05/30(日) 07:46:15.09ID:p+VrCgXk [名前を付けて保存]で.pdfが選択できるあのパターンか
573デフォルトの名無しさん
2021/05/30(日) 07:58:56.70ID:WEq4SBwj まさか、そんなWin32api全く関係ない
やり方で実装して専用スレで自慢したりしないでしょぅ
XPS経由だってスレ違いかと。
自慢するからにはバイナリーで直接生成していると見た。
公開早よう
やり方で実装して専用スレで自慢したりしないでしょぅ
XPS経由だってスレ違いかと。
自慢するからにはバイナリーで直接生成していると見た。
公開早よう
574デフォルトの名無しさん
2021/05/30(日) 09:45:29.63ID:LN/prPAP575デフォルトの名無しさん
2021/05/30(日) 10:42:53.61ID:ssDmNHo+ PPAPは馬鹿っぽい
576デフォルトの名無しさん
2021/05/30(日) 16:45:35.69ID:PqG+8+2Y577デフォルトの名無しさん
2021/05/30(日) 20:56:15.06ID:WEq4SBwj それはプリンタDCを使って印刷するんだべ
570でそれは否定されているぞ
570でそれは否定されているぞ
578デフォルトの名無しさん
2021/05/30(日) 20:57:42.71ID:p+VrCgXk579デフォルトの名無しさん
2021/05/31(月) 16:22:50.06ID:XbQeT4fa ReadDirectoryChangesExWでroutine渡して非同期フォルダ監視してるんだけど、これって通知来るたびに一回一回登録し直さないといけないの?
通知 → 登録し直しの間は監視漏れが発生しうるって事だよね?
通知 → 登録し直しの間は監視漏れが発生しうるって事だよね?
580デフォルトの名無しさん
2021/05/31(月) 16:52:07.49ID:3RgsPXyf http://eternalwindows.jp/shell/shellname/shellname06.html
https://www.usefullcode.net/2007/01/post_45.html
https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shchangenotifyregister
https://docs.microsoft.com/ja-jp/windows/win32/fileio/obtaining-directory-change-notifications
https://www.usefullcode.net/2007/01/post_45.html
https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shchangenotifyregister
https://docs.microsoft.com/ja-jp/windows/win32/fileio/obtaining-directory-change-notifications
581蟻人間 ◆T6xkBnTXz7B0
2021/06/01(火) 02:10:15.60ID:Rxn2JXc8 どうやらDeleteFile関数はナイフのように危険な関数と見なされているらしい。使うのはためらうがいい。
582デフォルトの名無しさん
2021/06/01(火) 03:20:20.18ID:iJwujeZa 詳しく
583デフォルトの名無しさん
2021/06/01(火) 16:25:48.20ID:IAoswQIc 思わせぶりなんやな
584デフォルトの名無しさん
2021/06/01(火) 16:31:57.56ID:29GPvfIS >>580
完璧に監視したいならカーネルドライバ仕込むしかなさそうか
完璧に監視したいならカーネルドライバ仕込むしかなさそうか
585デフォルトの名無しさん
2021/06/02(水) 04:00:06.74ID:CFdyIdLe 完璧かどうか忘れたが、登録し直しなんてやった記憶ないな
586デフォルトの名無しさん
2021/06/02(水) 11:14:04.96ID:qtmfAhQ7 登録し直しなんてやった記憶無いし
しなくても通知は来ることは来るけど
ちゃんとしてても普通に取りこぼすことはあった気がする
しなくても通知は来ることは来るけど
ちゃんとしてても普通に取りこぼすことはあった気がする
587デフォルトの名無しさん
2021/06/03(木) 00:06:10.42ID:mgPJdS86 >>585>>586
それはSHChangeNotifyRegisterの話?
もしくはReadDirectoryChangesExWでもIO完了ポートで受け取る方式なら継続的になるとか?
完了ポートでの非同期IQはややこしそうだからとスルーしていたが
それはSHChangeNotifyRegisterの話?
もしくはReadDirectoryChangesExWでもIO完了ポートで受け取る方式なら継続的になるとか?
完了ポートでの非同期IQはややこしそうだからとスルーしていたが
588デフォルトの名無しさん
2021/06/03(木) 19:50:54.55ID:smLJNlVA >>587
585だけど昔のソース見たら専用スレッドで下みたいなことしてた。登録し直してるわ
OVERLAPPED ol;
ol.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
for (;;) {
bRet = ReadDirectoryChangesW( hDir, buffer, buffer_size, TRUE,
FILE_NOTIFY_CHANGE_FILE_NAME |FILE_NOTIFY_CHANGE_LAST_WRITE|FILE_NOTIFY_CHANGE_SIZE |FILE_NOTIFY_CHANGE_CREATION|FILE_NOTIFY_CHANGE_SECURITY
, &dwByte, &ol, NULL);
ol.hEvent を WaitForMultipleObjects で待つ
bRet = GetOverlappedResult(hDir, &ol, &dwByte, TRUE );
for (;;) {
pInfo = (FILE_NOTIFY_INFORMATION *)&buffer[i];
別スレッドの待ち行列に追加
if (pInfo->NextEntryOffset == 0)
break;
i += pInfo->NextEntryOffset;
}
}
585だけど昔のソース見たら専用スレッドで下みたいなことしてた。登録し直してるわ
OVERLAPPED ol;
ol.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
for (;;) {
bRet = ReadDirectoryChangesW( hDir, buffer, buffer_size, TRUE,
FILE_NOTIFY_CHANGE_FILE_NAME |FILE_NOTIFY_CHANGE_LAST_WRITE|FILE_NOTIFY_CHANGE_SIZE |FILE_NOTIFY_CHANGE_CREATION|FILE_NOTIFY_CHANGE_SECURITY
, &dwByte, &ol, NULL);
ol.hEvent を WaitForMultipleObjects で待つ
bRet = GetOverlappedResult(hDir, &ol, &dwByte, TRUE );
for (;;) {
pInfo = (FILE_NOTIFY_INFORMATION *)&buffer[i];
別スレッドの待ち行列に追加
if (pInfo->NextEntryOffset == 0)
break;
i += pInfo->NextEntryOffset;
}
}
589デフォルトの名無しさん
2021/06/07(月) 03:29:32.93ID:N0vu82AX タッチスクリーンとして扱われる入力デバイスがあるのですが、これをマウスのように扱いたいです。
具体的に言うと、ブラウザ等のアプリ上でWM_POINTERDOWNが発生した時点でマウスの左クリックと同等の動きをさせ、POINTERDOWN以外のWM_POINTER系メッセージを握り潰したいです。
SetWindowsHookEx()で、起動中の各アプリケーションに対して自作dll内のフックプロシージャをインストールしたのですが、下記StackOverflowの投稿と同じ状態になって詰まっています。
https://stackoverflow.com/questions/21069643/is-it-possible-to-remove-touch-messages-wm-pointerdown-etc-that-an-applicatio
フックタイプにWH_CALLWNDPROCを指定すればメッセージの握り潰しや書き換えができるようなのですが、その場合どのようなウィンドウメッセージをフックすれば良いのでしょうか?
具体的に言うと、ブラウザ等のアプリ上でWM_POINTERDOWNが発生した時点でマウスの左クリックと同等の動きをさせ、POINTERDOWN以外のWM_POINTER系メッセージを握り潰したいです。
SetWindowsHookEx()で、起動中の各アプリケーションに対して自作dll内のフックプロシージャをインストールしたのですが、下記StackOverflowの投稿と同じ状態になって詰まっています。
https://stackoverflow.com/questions/21069643/is-it-possible-to-remove-touch-messages-wm-pointerdown-etc-that-an-applicatio
フックタイプにWH_CALLWNDPROCを指定すればメッセージの握り潰しや書き換えができるようなのですが、その場合どのようなウィンドウメッセージをフックすれば良いのでしょうか?
590デフォルトの名無しさん
2021/06/12(土) 10:06:00.61ID:AjrJ9Ngk このスレでいいのか判りませんが質問です。
WindowsのタブレットはUSBマウス等のポインティングデバイスを差さないとマウスカーソルが表示されないのですが、
APIか何かでマウスカーソルを表示させる方法ってありませんか?
タブレットでSendInputで自動操作させる時にマウスカーソルが表示されず、何が起こっているのか判らないので何とかしたいです。
kokomiteみたいなソフトも試しましたが、ログイン前とかでは使えないので他の方法がないか探しています。
WindowsのタブレットはUSBマウス等のポインティングデバイスを差さないとマウスカーソルが表示されないのですが、
APIか何かでマウスカーソルを表示させる方法ってありませんか?
タブレットでSendInputで自動操作させる時にマウスカーソルが表示されず、何が起こっているのか判らないので何とかしたいです。
kokomiteみたいなソフトも試しましたが、ログイン前とかでは使えないので他の方法がないか探しています。
591デフォルトの名無しさん
2021/06/12(土) 14:25:29.90ID:EUQ7Uxqr マウスジグラーを繋ぐとかは抜きなら
DDKじゃね
DDKじゃね
592デフォルトの名無しさん
2021/06/12(土) 14:30:19.46ID:5buAbQHn SetProp(), GetProp() っていつごろからあるんだろう?
これらの関数の存在を最近まで知らなかった
これらの関数の存在を最近まで知らなかった
593デフォルトの名無しさん
2021/06/12(土) 14:35:57.37ID:oXB7qEBX >>592
Windows 2000
Windows 2000
594デフォルトの名無しさん
2021/06/12(土) 15:21:40.84ID:5buAbQHn595蟻人間 ◆T6xkBnTXz7B0
2021/06/12(土) 18:39:01.20ID:bymgAWyc SetProp/GetPropはstd::mapみたいに使えて便利だが、システムやアプリが無断で勝手に使う関係ないデータが交じる恐れがあるから注意。
>>594
WindowClass.cbClsExtra や WindowClass.cbWndExtra にポインタのサイズを登録しておいて、
::CreateWindow(..., this)
::SetWindowLong()/::SetWindowLongPtr()
::GetWindowLong()/::GetWindowLongPtr()
とかをやる手法は win3.1 からあったと記憶しています
>>593,592
https://docs.microsoft.com/en-us/windows/win32/winmsg/using-window-properties
を初めてみていますが、Window Properties とはどういう概念でしょうか?みたところ上記の api 群が扱うオブジェクトとは違うようですが
WindowClass.cbClsExtra や WindowClass.cbWndExtra にポインタのサイズを登録しておいて、
::CreateWindow(..., this)
::SetWindowLong()/::SetWindowLongPtr()
::GetWindowLong()/::GetWindowLongPtr()
とかをやる手法は win3.1 からあったと記憶しています
>>593,592
https://docs.microsoft.com/en-us/windows/win32/winmsg/using-window-properties
を初めてみていますが、Window Properties とはどういう概念でしょうか?みたところ上記の api 群が扱うオブジェクトとは違うようですが
597デフォルトの名無しさん
2021/06/12(土) 20:53:52.52ID:5buAbQHn598590
2021/06/13(日) 08:15:12.76ID:qn2LXnlL >>591
>マウスジグラー
こういう製品があるんですね。ご紹介ありがとうございます。
ただ、機能の割にお値段が結構するみたいなので、無線マウスのドングルでも繋いどけばよさそうですね。
仮想マウスドライバの作成も検討してみます。
ありがとうございました。
>マウスジグラー
こういう製品があるんですね。ご紹介ありがとうございます。
ただ、機能の割にお値段が結構するみたいなので、無線マウスのドングルでも繋いどけばよさそうですね。
仮想マウスドライバの作成も検討してみます。
ありがとうございました。
599デフォルトの名無しさん
2021/06/13(日) 14:01:31.30ID:oB3VpSlH SetCursorでダメなん
600デフォルトの名無しさん
2021/06/14(月) 01:35:24.65ID:CyJY6/R2 >>599
SetCursor、ShowCursorを試してみましたがだめなようです。
マウスカーソルがが表示されない状態の簡単な再現方法ですが、
Windows10が入った適当なデスクトップPCにマウス等を繋がずに起動するとこの状態になるようです。
SetCursor、ShowCursorを試してみましたがだめなようです。
マウスカーソルがが表示されない状態の簡単な再現方法ですが、
Windows10が入った適当なデスクトップPCにマウス等を繋がずに起動するとこの状態になるようです。
601デフォルトの名無しさん
2021/06/14(月) 10:46:03.90ID:wsn+oRmt GetTickCount()
東京五輪期間中の49日間、在宅勤務を求めた政府に「不吉」の声 - ライブドアニュース
https://news.livedoor.com/article/detail/20359990/
東京五輪期間中の49日間、在宅勤務を求めた政府に「不吉」の声 - ライブドアニュース
https://news.livedoor.com/article/detail/20359990/
602デフォルトの名無しさん
2021/06/14(月) 14:11:06.25ID:u1SE1Un5 もともとテレワークだから関係ないけど
夏期休暇中にバリバリ旅行する予定は入れてるな
ハハハ
夏期休暇中にバリバリ旅行する予定は入れてるな
ハハハ
603デフォルトの名無しさん
2021/06/14(月) 20:25:26.99ID:wsn+oRmt 49.7日間で終わるのが嫌ならGetTickCount64()を使えばいい
604デフォルトの名無しさん
2021/06/14(月) 21:41:37.22ID:hyIjE3NB 今さらだがGetTickCountで四十九日という考え方をしたことないけど、覚え方としてはありか
605デフォルトの名無しさん
2021/06/14(月) 21:44:55.35ID:00nQT5bL 95時代から何度もトラブルを起こしている
49日deathと名前が付くぐらいだし
49日deathと名前が付くぐらいだし
606590
2021/06/14(月) 21:54:18.56ID:CyJY6/R2 次の設定でマウスカーソルが表示できました。
Windowsの設定 → 簡単操作 → マウス → マウスをキーパッドで操作する : オン
または下のレジストリ設定後、一度ログアウトし再度ログオンする。
rem マウスオン
reg add "HKCU\Control Panel\Accessibility\MouseKeys" /v Flags /t REG_SZ /d "159" /f
rem マウスオフ
reg add "HKCU\Control Panel\Accessibility\MouseKeys" /v Flags /t REG_SZ /d "158" /f
レジストリ設定の場合、一度ログアウトが必要なのが解せませんが、これで一応ソフトウェアでカーソルの表示まではできました。
Windowsの設定 → 簡単操作 → マウス → マウスをキーパッドで操作する : オン
または下のレジストリ設定後、一度ログアウトし再度ログオンする。
rem マウスオン
reg add "HKCU\Control Panel\Accessibility\MouseKeys" /v Flags /t REG_SZ /d "159" /f
rem マウスオフ
reg add "HKCU\Control Panel\Accessibility\MouseKeys" /v Flags /t REG_SZ /d "158" /f
レジストリ設定の場合、一度ログアウトが必要なのが解せませんが、これで一応ソフトウェアでカーソルの表示まではできました。
607590
2021/06/14(月) 22:00:24.26ID:CyJY6/R2 なお、ログオフ前もマウスカーソルを表示させたい場合はHKU\.DEFAULTに設定すれば良いようです。
reg add "HKU\.DEFAULT\Control Panel\Accessibility\MouseKeys" /v Flags /t REG_SZ /d "159" /f
とりあえずこれで大丈夫かな?
reg add "HKU\.DEFAULT\Control Panel\Accessibility\MouseKeys" /v Flags /t REG_SZ /d "159" /f
とりあえずこれで大丈夫かな?
608デフォルトの名無しさん
2021/06/15(火) 20:39:42.52ID:yNzX82gi609デフォルトの名無しさん
2021/06/18(金) 04:52:47.87ID:G04bvGTj こんにちは。
C++ でSDIウィンドウを管理するためのラッパークラスを作っているのですが、
正直、継承クラスを作成してウィンドウをカスタマイズするたびに新しい
ウィンドウクラス名を指定する作業が面倒くさいです。当初は
string SDIWindow::get_wndclass_name() const {return typeid(*this).name();}
このような仮想関数を用意していたのですが、std::typeid::name() の返却値は実装依存で、
空文字すら返すことがあると聞き、ボツ案になりました。どうにかウィンドウクラス名を
自動生成したいのですが、妙案はありませんでしょうか。MFCなどのツールではどのように
名前を付けているのでしょう?よろしくお願いいたします。
C++ でSDIウィンドウを管理するためのラッパークラスを作っているのですが、
正直、継承クラスを作成してウィンドウをカスタマイズするたびに新しい
ウィンドウクラス名を指定する作業が面倒くさいです。当初は
string SDIWindow::get_wndclass_name() const {return typeid(*this).name();}
このような仮想関数を用意していたのですが、std::typeid::name() の返却値は実装依存で、
空文字すら返すことがあると聞き、ボツ案になりました。どうにかウィンドウクラス名を
自動生成したいのですが、妙案はありませんでしょうか。MFCなどのツールではどのように
名前を付けているのでしょう?よろしくお願いいたします。
610デフォルトの名無しさん
2021/06/18(金) 11:13:45.48ID:jgOXgIk3612デフォルトの名無しさん
2021/06/18(金) 20:14:25.45ID:Y3n+d/Ne ATLはオブジェクトのアドレスだったような
613609
2021/06/19(土) 01:33:45.59ID:zlIXB2NK ご回答くださった方々、ありがとうございます。
__func__ これだ、と思ったのですが、いま使用しているコンパイラが相当古く、
この機能をサポートしていないようです。何かうまい方法がないかもう少し考えてみます。
>>612
自分もオブジェクトのアドレスを利用できないかと考えていたのですが、インスタンスごとに
アドレスが異なると困るのではと思い、保留していました。
__func__ これだ、と思ったのですが、いま使用しているコンパイラが相当古く、
この機能をサポートしていないようです。何かうまい方法がないかもう少し考えてみます。
>>612
自分もオブジェクトのアドレスを利用できないかと考えていたのですが、インスタンスごとに
アドレスが異なると困るのではと思い、保留していました。
614デフォルトの名無しさん
2021/06/19(土) 05:54:37.84ID:IUR6A6FI uid、guid生成すんのがトレンド
615デフォルトの名無しさん
2021/06/19(土) 13:13:08.67ID:tbYH3ICf コンストラクタの呼び出し位置で __FILE__と__LINE__を使った文字列をセットするとか
616609
2021/06/19(土) 15:58:26.49ID:zlIXB2NK >>614-615
ありがとうございます。
なるほど! __FILE__, __LINE__ の組み合わせは盲点でした。
これなら確かに、オブジェクトとウィンドウクラスを1対1で対応させることができますね。
少なくとも当座はこれでしのげます。
uid、guid 案もありがとうございます。
知識不足のため、勉強してから考えてみたいと思います。
ありがとうございます。
なるほど! __FILE__, __LINE__ の組み合わせは盲点でした。
これなら確かに、オブジェクトとウィンドウクラスを1対1で対応させることができますね。
少なくとも当座はこれでしのげます。
uid、guid 案もありがとうございます。
知識不足のため、勉強してから考えてみたいと思います。
617デフォルトの名無しさん
2021/06/19(土) 16:18:13.72ID:BH9bYKW9 ウインドウクラス名は文字列の他にATOMでも指定できる
ATOMはRegisterClass()が返す
ATOMはRegisterClass()が返す
618デフォルトの名無しさん
2021/07/09(金) 07:17:28.46ID:Qg7nE9lI dllmainの最初の引数のHMODULEっていうかハンドルと同じ値を取得するwin32apiある?
ライブラリ作ってるけど、dllmain自体をライブラリに含めたくないから困ってる。
dllmainからHMODULEをライブラリに渡せ
みたいな変な規則も出来れば避けたい...
ライブラリ作ってるけど、dllmain自体をライブラリに含めたくないから困ってる。
dllmainからHMODULEをライブラリに渡せ
みたいな変な規則も出来れば避けたい...
619デフォルトの名無しさん
2021/07/09(金) 07:19:48.14ID:If26C/4W GetModuleHandle(NULL)をキャストしる
620デフォルトの名無しさん
2021/07/09(金) 07:50:25.45ID:Qg7nE9lI GetModuleHandleのNULLは大元の実行ファイルのパス。
そうじゃなくて.dllのパスが欲しい。
その際dllmainの第一引数を使わない形で欲しい。
そうじゃなくて.dllのパスが欲しい。
その際dllmainの第一引数を使わない形で欲しい。
621デフォルトの名無しさん
2021/07/09(金) 08:17:41.20ID:r/5b40UG んでリンカーでエントリーポイントを自前のにしつつ
コンパイラのスタートアップに渡す過程で hInst をくすねるしかないんじゃないの?
コンパイラのスタートアップに渡す過程で hInst をくすねるしかないんじゃないの?
622620
2021/07/09(金) 08:53:28.23ID:Qg7nE9lI 定義関数自身を渡しつつ、リファレンスカウンタを増やすのを回避する以下の形でいけるっぽい。
HMODULE GetCurrentModule()
{
DWORD flags = GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT;
HMODULE h = 0;
::GetModuleHandleEx(flags, reinterpret_cast<LPCTSTR>(GetCurrentModule), &h);
return h;
}
HMODULE GetCurrentModule()
{
DWORD flags = GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT;
HMODULE h = 0;
::GetModuleHandleEx(flags, reinterpret_cast<LPCTSTR>(GetCurrentModule), &h);
return h;
}
623デフォルトの名無しさん
2021/07/09(金) 11:00:40.24ID:r/5b40UG そのライブラリを利用して
dll を記述するときは dll 自身を指して
アプリケーションを記述するときは実行ファイル自身を指すと
(GetModuleHandle() は、常に実行ファイルを指す)
dll を記述するときは dll 自身を指して
アプリケーションを記述するときは実行ファイル自身を指すと
(GetModuleHandle() は、常に実行ファイルを指す)
624デフォルトの名無しさん
2021/07/09(金) 12:53:16.14ID:If26C/4W Module32First でも使えば〜
625デフォルトの名無しさん
2021/07/09(金) 16:42:11.88ID:egaI+P/a >>618
DLLは、アプリと同じ仮想アドレス空間を共有しており、HMODULEの値は、
DLLの PE イメージの先頭アドレスだと聞いている。
そして、DLLは単なる関数の集まりに過ぎないので、「現在のDLL」という
概念が存在しない。
dllmain が呼び出されて、OSに戻るまでの間の時間、現在どの dllmain が呼び出されているか、
という情報なら OSはどこかに持っているはずではあるが。
なお、DLLの関数群は、通常、dllmain が呼び出されている間以外に使うことが原則。
DLLは、アプリと同じ仮想アドレス空間を共有しており、HMODULEの値は、
DLLの PE イメージの先頭アドレスだと聞いている。
そして、DLLは単なる関数の集まりに過ぎないので、「現在のDLL」という
概念が存在しない。
dllmain が呼び出されて、OSに戻るまでの間の時間、現在どの dllmain が呼び出されているか、
という情報なら OSはどこかに持っているはずではあるが。
なお、DLLの関数群は、通常、dllmain が呼び出されている間以外に使うことが原則。
626デフォルトの名無しさん
2021/07/10(土) 05:25:42.40ID:fmB/UGP2 dllは現在実行中のdllという概念はあるのでは。
あるからこそ、c++/cliでは簡単かつ確実なものとして提供されてるわけで。
あるからこそ、c++/cliでは簡単かつ確実なものとして提供されてるわけで。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「クマはなるべく山に返す努力を」「クマと戦争は間違っている」動物保護活動家の主張 棲み分けと学習放獣でクマ被害なくなるのか?★7 [ぐれ★]
- とらせん IPあり
- 巨専】
- こいせん 全レス転載禁止
- 【DAZN】ワールドカップ欧州予選総合 ★5
- 侍ジャパンシリーズ2025「日本vs韓国」その12
- 【J SPORTS】FIFA U-17ワールドカップ ★10
- 「世の中、バカが多くて疲れません?」👉1991年日本人大発狂 [543236886]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 自閉症が「んなっしょい」と連呼するお🏡
- 寒い寒い寒い寒い寒い寒い寒い寒い寒い寒い寒い寒い寒い寒い寒い寒い寒い寒い
- マクラーレン、女性ドライバー3名を加入 [462275543]
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
