Win32APIについての質問はこちらへどうぞ。
■注意
・質問する前にMSDNライブラリやPlatformSDK、Google等で検索しましょう。
・日本語版MSDN Online Libraryは不完全です。
英語版( http://msdn.microsoft.com/en-us/library/ )の利用推奨。
・APIフックなど高度な事をしたい場合はできるだけAdvenced Windowsを読みましょう。
・言語特有の問題やIDE、MFCやVCLなどの質問はそれぞれの言語や開発環境スレで
■過去スレ
Win32API質問箱 Build124
http://mevius.5ch.net/test/read.cgi/tech/1510395780/
Win32API質問箱 Build123
http://mevius.2ch.net/test/read.cgi/tech/1475897582/
Win32API質問箱 Build122
http://echo.2ch.net/test/read.cgi/tech/1451988219/
Win32API質問箱 Build121
http://echo.2ch.net/test/read.cgi/tech/1438695290/
Win32API質問箱 Build120
http://echo.2ch.net/test/read.cgi/tech/1428570962/
■関連スレ
Visual Studio 2019
http://mevius.5ch.net/test/read.cgi/tech/1548765663/
Visual Studio 2017 Part6
http://mevius.5ch.net/test/read.cgi/tech/1528645068/
【C++】 DirectX初心者質問スレ Part41 【C】
http://mevius.5ch.net/test/read.cgi/tech/1521786252/
Win32API質問箱 Build125
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2019/02/27(水) 15:09:08.64ID:6ExXwgQU83デフォルトの名無しさん
2019/04/25(木) 21:22:22.93ID:OZvMAFB5 EnumDateFormatsExEx() で取得できる書式を使っても、GetDateFormatEx()では「西暦」を含む文字列は出力されない。
となるとMozilla Thunderbirdは書式に含まれるggを独自に「西暦」という文字列に置換していると予想できる。
となるとMozilla Thunderbirdは書式に含まれるggを独自に「西暦」という文字列に置換していると予想できる。
84デフォルトの名無しさん
2019/04/25(木) 22:18:02.14ID:jqthfa4A2019/04/25(木) 23:33:13.95ID:ts61mY/0
キリスト再臨を意識してるんだろう
2019/04/25(木) 23:33:38.87ID:jZ4+eHeJ
2019/04/26(金) 00:58:40.96ID:vOVYhDJF
>>84
さすがにグレゴリウス暦だろうなあ
さすがにグレゴリウス暦だろうなあ
88デフォルトの名無しさん
2019/04/26(金) 06:15:41.35ID:RL3aG5HG SYSTEMTIME structure
https://docs.microsoft.com/en-us/windows/desktop/api/minwinbase/ns-minwinbase-systemtime
The year. The valid values for this member are 1601 through 30827.
https://docs.microsoft.com/en-us/windows/desktop/api/minwinbase/ns-minwinbase-systemtime
The year. The valid values for this member are 1601 through 30827.
89デフォルトの名無しさん
2019/04/26(金) 14:04:32.85ID:LLMkwGoL >>86
西暦はそういう年号なんだよ。まともに調べてものを言えよ!
西暦はそういう年号なんだよ。まともに調べてものを言えよ!
2019/04/26(金) 14:36:49.17ID:W8c6vXCR
>>89
元号と年号の区別もつかないアホは黙っとけw
元号と年号の区別もつかないアホは黙っとけw
2019/04/26(金) 15:04:24.87ID:7UckC18L
92デフォルトの名無しさん
2019/04/26(金) 19:32:27.95ID:RL3aG5HG 60 名前:名無しさん@1周年[sage] 投稿日:2019/04/26(金) 17:07:27.22 ID:ZP74hWkE0
access2016は対応済みだな、表示をgee/mm/ddにしてH31/05/01と入力するとR01/05/01と変換してくれる。
ちなみに2007だとR01/05/01と入力するとご丁寧にもH31/05/01と変換してくれるw
そこまでやるならきちんと対応しろと言いたい。
access2016は対応済みだな、表示をgee/mm/ddにしてH31/05/01と入力するとR01/05/01と変換してくれる。
ちなみに2007だとR01/05/01と入力するとご丁寧にもH31/05/01と変換してくれるw
そこまでやるならきちんと対応しろと言いたい。
2019/04/26(金) 19:46:10.67ID:wYSD0glh
大規模開発の時に役立つ
・モジュール間の結合を下げて、作業分担・デバック・例外処理の範囲を明確化できる
・継承の型指定で、質がピンキリなプログラマーたちの実装を縛れる
・オブジェクト指向の思想は直感的でわかりやすいから、頭の弱いPGにも理解させやすい
特にプログラマーの質が低い時は、javaを使わないと大規模開発できない
・モジュール間の結合を下げて、作業分担・デバック・例外処理の範囲を明確化できる
・継承の型指定で、質がピンキリなプログラマーたちの実装を縛れる
・オブジェクト指向の思想は直感的でわかりやすいから、頭の弱いPGにも理解させやすい
特にプログラマーの質が低い時は、javaを使わないと大規模開発できない
94デフォルトの名無しさん
2019/04/26(金) 19:46:49.95ID:pk1a8vBU2019/04/26(金) 20:04:46.99ID:vOVYhDJF
>>92
運転免許の表記がH35だが、勝手にRに変えられても困る
運転免許の表記がH35だが、勝手にRに変えられても困る
2019/04/26(金) 20:07:40.50ID:QuMKW8xW
S64年からH1年 と書くようになった時、たぶんあまり違和感を感じなかったと思うが
R1年ってなんか妙だな
R1とか書かれたら国一と勘違いしそう
R1年ってなんか妙だな
R1とか書かれたら国一と勘違いしそう
2019/04/26(金) 20:48:26.22ID:/RLYU0hs
令和18年にR18ネタが大量発生する予感
98デフォルトの名無しさん
2019/04/26(金) 21:06:12.68ID:rqrZnamv 自作アプリで、他アプリがアクティブなときでもマウスイベントを監視するために、
SetWindowsHookEx(WH_MOUSE_LL, HookProc, hmod, 0);
とすると、確かにHookProcが呼ばれますが、
アクティブな他アプリが管理者特権あり(タスクマネージャとか)だと呼ばれません。
その場合でも、自作アプリが管理者特権ありで実行されていれば、
ちゃんとHookProcが呼ばれます。
自作アプリを管理者特権なしの通常の実行時でも、
タスクマネージャとかがアクティブなときのマウスイベントを監視するには
どうすればいいのでしょうか?
フリーソフトのX-Mouse Button Controlとか、StrokesPlusとか、
ではできているようなので、なにかしら方法はあると思うのですが。
(win10, 64bit)
SetWindowsHookEx(WH_MOUSE_LL, HookProc, hmod, 0);
とすると、確かにHookProcが呼ばれますが、
アクティブな他アプリが管理者特権あり(タスクマネージャとか)だと呼ばれません。
その場合でも、自作アプリが管理者特権ありで実行されていれば、
ちゃんとHookProcが呼ばれます。
自作アプリを管理者特権なしの通常の実行時でも、
タスクマネージャとかがアクティブなときのマウスイベントを監視するには
どうすればいいのでしょうか?
フリーソフトのX-Mouse Button Controlとか、StrokesPlusとか、
ではできているようなので、なにかしら方法はあると思うのですが。
(win10, 64bit)
2019/04/26(金) 23:16:56.39ID:vOVYhDJF
自分より上位の権限で動作してるプログラムの動作を盗めちゃったら
特権の意味がないじゃん
特権の意味がないじゃん
100デフォルトの名無しさん
2019/04/27(土) 01:51:35.35ID:yvp3RQsi そういう場合setupでSYSTEMで動くサービスをこっそり仕込んどくんだよ
101デフォルトの名無しさん
2019/04/27(土) 17:05:51.62ID:WooJ2l2s フックを仕込むプロセスを管理者権限で起動すればいいだけでは
102デフォルトの名無しさん
2019/04/27(土) 18:26:23.20ID:6JD570yx こっそり悪いことをしたいのに、それでは困るんです!!
詳しい人だけレスしてください!!
詳しい人だけレスしてください!!
10398
2019/04/27(土) 19:02:31.25ID:FkFh7/lX マウスジェスチャツールの類って、
管理者権限アプリがアクティブな時は動作しません、
ってわけにはいかず、
実際、例示したソフトは管理者権限なくても
ちゃんと動作してて、これって一体どうやって実現してるんだろう?
という純粋な興味と、
できれば管理者権限はあまり濫用したくないのと。
管理者権限アプリがアクティブな時は動作しません、
ってわけにはいかず、
実際、例示したソフトは管理者権限なくても
ちゃんと動作してて、これって一体どうやって実現してるんだろう?
という純粋な興味と、
できれば管理者権限はあまり濫用したくないのと。
104デフォルトの名無しさん
2019/04/27(土) 19:08:42.81ID:yvp3RQsi たとえばUACの画面でも動いてるってことは管理者特権で動いてるってことだよ
105デフォルトの名無しさん
2019/04/28(日) 04:58:00.18ID:j843ApD7 >>100だよね
106デフォルトの名無しさん
2019/04/28(日) 16:27:22.99ID:iQtWq0Ma >>103
すでに試しているかもしれないけど、同じようにキーフックとマウスフックする
プログラムで試したら、同じようにタスクマネージャがアクティブウィンドウに
なっていると反応しなくなったので、アプリ自体を管理者権限で起動したら
動作するようになったよ
なので、手作業で管理者権限で実行しなくてもうまく動作するアプリは内部で
権限の取得を行っているんだと思うけど
試していないので分からないけど「"windows10" "管理者権限" 取得 api」
あたりでぐぐるとヒントあるかも
すでに試しているかもしれないけど、同じようにキーフックとマウスフックする
プログラムで試したら、同じようにタスクマネージャがアクティブウィンドウに
なっていると反応しなくなったので、アプリ自体を管理者権限で起動したら
動作するようになったよ
なので、手作業で管理者権限で実行しなくてもうまく動作するアプリは内部で
権限の取得を行っているんだと思うけど
試していないので分からないけど「"windows10" "管理者権限" 取得 api」
あたりでぐぐるとヒントあるかも
107デフォルトの名無しさん
2019/05/02(木) 19:34:03.04ID:vshP5qNq エディタボックスの EM_GETFILELINE について教えろ下さい。
108デフォルトの名無しさん
2019/05/02(木) 22:27:42.89ID:XhxUsVCI 指定したファイル(または論理)行のテキストを取得します(テキストの折り返し区切り文字は無視されます)。このマクロを使用するか、EM_GETFILELINEメッセージを明示的に送信することができます。
109デフォルトの名無しさん
2019/05/04(土) 14:13:39.47ID:mtwbaS1U 改元を契機に、OSの日付表示を「和暦」にすることをお勧めしたい。
エクスプローラで日付に曜日をつけられるのは「和暦」だけ。
ファイル一覧の更新日時に曜日が表示されていると便利だよ。
エクスプローラで日付に曜日をつけられるのは「和暦」だけ。
ファイル一覧の更新日時に曜日が表示されていると便利だよ。
110デフォルトの名無しさん
2019/05/04(土) 21:51:14.91ID:a8KzjyU7 パソコン初心者スレで言ってろよw
曜日が欲しいのにないなら自分で表示すればいいだろ
曜日が欲しいのにないなら自分で表示すればいいだろ
111デフォルトの名無しさん
2019/05/04(土) 22:24:07.50ID:mtwbaS1U そもそも日付設定を西暦にすると短い書式で曜日表示できないWindows10の仕様は不便だと思うけど、どうよ?
112デフォルトの名無しさん
2019/05/04(土) 23:01:24.11ID:mp9Fg+WJ タスクバーは非表示にしてるからそいつに頼ることがない
113デフォルトの名無しさん
2019/05/05(日) 00:10:59.90ID:QZI32h5J >>111
設定→時刻と言語→地域→日付、時刻、地域の追加設定→日付、時刻、または数値の形式の変更→追加の設定→日付タブ→短い形式をyyyy/MM/dd '('ddd')'にする
設定→時刻と言語→地域→日付、時刻、地域の追加設定→日付、時刻、または数値の形式の変更→追加の設定→日付タブ→短い形式をyyyy/MM/dd '('ddd')'にする
114デフォルトの名無しさん
2019/05/05(日) 15:39:35.92ID:vTdWYBgo 合紫盾ニ比べて
令和の合字は横幅が広く作られているようだ
バグ出るソフト多数
令和の合字は横幅が広く作られているようだ
バグ出るソフト多数
115デフォルトの名無しさん
2019/05/05(日) 15:56:15.83ID:HdQlTZxY その程度で誤動作するようなソフトはもとからバグまみれなんじゃないか?
116さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/05/05(日) 17:33:49.39ID:BlnSuy3y これすごいよ。試してみてね。
【ソフト名】vista2xp
【URL】http://github.com/katahiromz/vista2xp
【説明】Vista/7/10向けのアプリをXP向けアプリに変換できるかもしれないソフト
【ソフト名】vista2xp
【URL】http://github.com/katahiromz/vista2xp
【説明】Vista/7/10向けのアプリをXP向けアプリに変換できるかもしれないソフト
117デフォルトの名無しさん
2019/05/05(日) 17:57:18.06ID:3Dri8dsV118さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/05/05(日) 18:58:37.17ID:BlnSuy3y archive.2ch-ranking.net/tech/1407006123.html#97
ここにXPで動かしたいという要望があったから書き込んだのに。。。
ここにXPで動かしたいという要望があったから書き込んだのに。。。
119さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/05/05(日) 20:25:34.20ID:KHPeL5hx 凄さわかります?
120デフォルトの名無しさん
2019/05/06(月) 18:57:39.39ID:o0+2Jvom ヤバさ10000倍
121デフォルトの名無しさん
2019/05/06(月) 19:41:50.63ID:lfqhRR/k 5年前のレスなのに・・・・ヤバイ
12298
2019/05/08(水) 19:24:40.51ID:6PpqmmLA マニフェストで、uiAccess='true'とし、オレオレ証明書で署名すると、
自アプリに管理者権限がなくても、
管理者権限ありの他アプリがアクティブな時にもマウスのフックが効くようになりました。
(結果的にはスレ違いだったか?)
自アプリに管理者権限がなくても、
管理者権限ありの他アプリがアクティブな時にもマウスのフックが効くようになりました。
(結果的にはスレ違いだったか?)
123デフォルトの名無しさん
2019/05/08(水) 19:58:08.02ID:h6vLlN0g >>122
なかなかやるじゃないの
なかなかやるじゃないの
124デフォルトの名無しさん
2019/05/08(水) 22:35:29.55ID:VmC21Scz へー
125デフォルトの名無しさん
2019/05/16(木) 09:59:35.10ID:q0mRunzJ リストコントロールをLVS_OWNERDATAで仮想リストビューとして使う際、
LVS_EX_FULLROWSELECTを付けていないと、
マウスで先頭からガーっと範囲選択を広げながらスクロールさせてるときに
どんどん重くなっていくんだけど、これは防ぎようがないんですかね。
LVS_EX_FULLROWSELECTを付けるとそんなことになはならないです。
確かに、LVS_EX_FULLROWSELECTを付けてないときは、
選択範囲内のY座標に含まれるすべてのアイテムに対して、
先頭カラムの文字の長さを見なければいけないのはわかるんだけど。
LVS_EX_FULLROWSELECTを付けていないと、
マウスで先頭からガーっと範囲選択を広げながらスクロールさせてるときに
どんどん重くなっていくんだけど、これは防ぎようがないんですかね。
LVS_EX_FULLROWSELECTを付けるとそんなことになはならないです。
確かに、LVS_EX_FULLROWSELECTを付けてないときは、
選択範囲内のY座標に含まれるすべてのアイテムに対して、
先頭カラムの文字の長さを見なければいけないのはわかるんだけど。
126デフォルトの名無しさん
2019/05/16(木) 11:56:46.64ID:Ox4fjiQE やり方かえろ
そんなインターフェースが万一速くなってもだれも喜ばない
そんなインターフェースが万一速くなってもだれも喜ばない
127デフォルトの名無しさん
2019/05/16(木) 14:14:30.40ID:ehYc/git 元号の構造体が「明治、大正、昭和、平成」の4択しか無かったとかいうアホな仕様もアホかも知れないが(Windows31の頃か?)
改元が決まってから今年に入るまで完全放置プレイだったってのも何だかなあ
↓
その構造体の修正も、その単体パッチに含まれてるのよ
改元が決まってから今年に入るまで完全放置プレイだったってのも何だかなあ
↓
その構造体の修正も、その単体パッチに含まれてるのよ
128デフォルトの名無しさん
2019/05/16(木) 15:50:11.52ID:U2hw1vcW129デフォルトの名無しさん
2019/05/17(金) 09:22:15.27ID:WU6BNfa1 >>126
ユーザーから指摘された挙動です。
マウスで範囲選択できるリストビューというのは普通だし、
項目が多いから仮想リストにするのも別に間違ってないはずだし、
その二つを組み合わせたら駄目という暗黙ルールなんですかね。
ユーザーから指摘された挙動です。
マウスで範囲選択できるリストビューというのは普通だし、
項目が多いから仮想リストにするのも別に間違ってないはずだし、
その二つを組み合わせたら駄目という暗黙ルールなんですかね。
130デフォルトの名無しさん
2019/05/17(金) 09:46:25.79ID:LE8qq7Xv131デフォルトの名無しさん
2019/05/17(金) 11:45:00.31ID:CPhGekQ/ Edge、FirefoxなどWebブラウザのJavascriptが新元号の令和に対応してない。
なぜかIE11は令和に対応済み。
なぜかIE11は令和に対応済み。
132デフォルトの名無しさん
2019/05/23(木) 10:54:32.01ID:O47OnyW4 >>130
もちろんその操作は理解していますが、回避方法の質問ではなく、
ユーザーが範囲選択しただけで処理が極端に重くなるというのが疑問でした。
処理が遅くならないようにするためのLVS_OWNERDATAだと思ってたので。
もちろんその操作は理解していますが、回避方法の質問ではなく、
ユーザーが範囲選択しただけで処理が極端に重くなるというのが疑問でした。
処理が遅くならないようにするためのLVS_OWNERDATAだと思ってたので。
133デフォルトの名無しさん
2019/05/23(木) 12:16:50.69ID:U0EOYL7g LVN_GETDISPINFOの処理にミスはないの?
LVS_OWNERDATAとLVS_EX_FULLROWSELECTどっちも使わないときの
処理速度も遅いんなら仕様だと思うけどね
LVS_OWNERDATAとLVS_EX_FULLROWSELECTどっちも使わないときの
処理速度も遅いんなら仕様だと思うけどね
134デフォルトの名無しさん
2019/05/28(火) 12:39:31.20ID:V7/pYf2g >>133
以下のような、連番を表示するだけの簡単なテストでも発生します。
MFCのコードだけど、結局はAPIなので原理は同じはず。
IDC_LIST1もIDC_LIST2も、ダイアログエディタ上で置いたリストコントロールで、
リスト関連のスタイルはLVS_OWNERDATAを付けただけ。
IDC_LIST1のほうはマウスで選択範囲を広げていくとどんどん遅くなります。
LVS_EX_FULLROWSELECTを付けたIDC_LIST2のほうは全く遅くなりません。
m_list1.SetExtendedStyle(m_list1.GetExtendedStyle() | LVS_EX_DOUBLEBUFFER);
m_list1.InsertColumn(0, _T("カラム"), LVCFMT_LEFT, 100);
m_list1.SetItemCountEx(10000);
m_list2.SetExtendedStyle(m_list2.GetExtendedStyle() | LVS_EX_DOUBLEBUFFER | LVS_EX_FULLROWSELECT);
m_list2.InsertColumn(0, _T("カラム"), LVCFMT_LEFT, 100);
m_list2.SetItemCountEx(10000);
LVN_GETDISPINFOハンドラ
{
NMLVDISPINFO *pDispInfo = reinterpret_cast<NMLVDISPINFO*>(pNMHDR);
LVITEM* pItem = &pDispInfo->item;
if (pItem->mask & LVIF_TEXT) {
CString strItem;
strItem.Format(_T("%d"), pItem->iItem);
_tcsncpy_s(pItem->pszText, pItem->cchTextMax, strItem, _TRUNCATE);
}
*pResult = 0;
}
以下のような、連番を表示するだけの簡単なテストでも発生します。
MFCのコードだけど、結局はAPIなので原理は同じはず。
IDC_LIST1もIDC_LIST2も、ダイアログエディタ上で置いたリストコントロールで、
リスト関連のスタイルはLVS_OWNERDATAを付けただけ。
IDC_LIST1のほうはマウスで選択範囲を広げていくとどんどん遅くなります。
LVS_EX_FULLROWSELECTを付けたIDC_LIST2のほうは全く遅くなりません。
m_list1.SetExtendedStyle(m_list1.GetExtendedStyle() | LVS_EX_DOUBLEBUFFER);
m_list1.InsertColumn(0, _T("カラム"), LVCFMT_LEFT, 100);
m_list1.SetItemCountEx(10000);
m_list2.SetExtendedStyle(m_list2.GetExtendedStyle() | LVS_EX_DOUBLEBUFFER | LVS_EX_FULLROWSELECT);
m_list2.InsertColumn(0, _T("カラム"), LVCFMT_LEFT, 100);
m_list2.SetItemCountEx(10000);
LVN_GETDISPINFOハンドラ
{
NMLVDISPINFO *pDispInfo = reinterpret_cast<NMLVDISPINFO*>(pNMHDR);
LVITEM* pItem = &pDispInfo->item;
if (pItem->mask & LVIF_TEXT) {
CString strItem;
strItem.Format(_T("%d"), pItem->iItem);
_tcsncpy_s(pItem->pszText, pItem->cchTextMax, strItem, _TRUNCATE);
}
*pResult = 0;
}
135デフォルトの名無しさん
2019/05/28(火) 12:51:33.37ID:EOiH5L82 マンコが臭い
136デフォルトの名無しさん
2019/06/04(火) 08:10:51.94ID:HNHYFj8Q デスクトップで右クリメニューの「ディスプレイ設定」→
ディスプレイ詳細設定→
ディスプレイ1のアダプターのプロパティを表示します→
専用ビデオメモリ: 128MB
↑この値を取得したいんですけど方法分る人居ますか?
Win32APIで無理なら他の方法でもいいので。
ディスプレイ詳細設定→
ディスプレイ1のアダプターのプロパティを表示します→
専用ビデオメモリ: 128MB
↑この値を取得したいんですけど方法分る人居ますか?
Win32APIで無理なら他の方法でもいいので。
137蟻人間 ◆T6xkBnTXz7B0
2019/06/04(火) 09:43:34.64ID:RcmlQznO138デフォルトの名無しさん
2019/06/04(火) 10:38:23.73ID:HNHYFj8Q >>137
ありがとうございます!助かりました!
ありがとうございます!助かりました!
139デフォルトの名無しさん
2019/06/07(金) 09:56:48.90ID:DnFV7L+4 https://docs.microsoft.com/en-us/windows/desktop/api/commctrl/nf-commctrl-listview_getitemcount
戻り値voidでどうやってアイテムの数取得するんだw
マクロ関数だと全て無条件で戻り値voidになってるっぽいな
誰も指摘しないんだろうかね
戻り値voidでどうやってアイテムの数取得するんだw
マクロ関数だと全て無条件で戻り値voidになってるっぽいな
誰も指摘しないんだろうかね
140デフォルトの名無しさん
2019/06/07(金) 11:32:17.95ID:PPbCM9Wo 誰も消防車を呼んでいない精神に基づいてフィードバックしといたよ
141デフォルトの名無しさん
2019/06/07(金) 11:41:35.06ID:nJu+ZeI9 GetLastResult()
142デフォルトの名無しさん
2019/06/08(土) 19:35:27.05ID:RlSH8i12 コモンコントロールは作りもAPIも割といい加減だよ
不具合の原因がコレだったみたいなの多すぎ
不具合の原因がコレだったみたいなの多すぎ
143デフォルトの名無しさん
2019/06/09(日) 08:12:49.27ID:jumrM7iv144デフォルトの名無しさん
2019/06/09(日) 08:49:26.37ID:8KChITol >>143
何を言ってるんだ
何を言ってるんだ
145デフォルトの名無しさん
2019/06/09(日) 09:13:16.09ID:SyILEOwA ドキュメントが間違っているだけ。
マクロはintを返すように正しく定義されている。
=== CommCtrl.h ===
#define LVM_GETITEMCOUNT (LVM_FIRST + 4)
#define ListView_GetItemCount(hwnd) (int)SNDMSG((hwnd), LVM_GETITEMCOUNT, 0, 0L)
マクロはintを返すように正しく定義されている。
=== CommCtrl.h ===
#define LVM_GETITEMCOUNT (LVM_FIRST + 4)
#define ListView_GetItemCount(hwnd) (int)SNDMSG((hwnd), LVM_GETITEMCOUNT, 0, 0L)
146デフォルトの名無しさん
2019/06/09(日) 11:16:09.70ID:wmlwj4f3147デフォルトの名無しさん
2019/06/09(日) 11:17:42.54ID:Ko0/a2ew148デフォルトの名無しさん
2019/06/09(日) 12:52:47.40ID:VLDoaadq >>147
???
だからドキュメントのシグネチャが間違ってるだけで「マクロの方を使えと」いう方針とやってることが違うというわけじゃねえだろ
「LVM_GETITEMCOUNTを使うしかない」とか言ってる時点で実際の定義もそうなってると勘違いしてるからなw
ちなみにmsdnのドキュメントは合ってる(https://msdn.microsoft.com/en-us/windows/desktop/bb774957)
MSも雑だしアプリ開発者の方も雑だなってだけの話
???
だからドキュメントのシグネチャが間違ってるだけで「マクロの方を使えと」いう方針とやってることが違うというわけじゃねえだろ
「LVM_GETITEMCOUNTを使うしかない」とか言ってる時点で実際の定義もそうなってると勘違いしてるからなw
ちなみにmsdnのドキュメントは合ってる(https://msdn.microsoft.com/en-us/windows/desktop/bb774957)
MSも雑だしアプリ開発者の方も雑だなってだけの話
149デフォルトの名無しさん
2019/06/09(日) 15:47:59.75ID:2sqBIYy9 雑同士の雑な殴り合い
150デフォルトの名無しさん
2019/06/09(日) 16:01:22.43ID:P23LzvOV SendMessage()でもマクロでもメンバ関数でもどれでもいいけど、「GETITEMCOUNT」で大小文字区別なしでキーワード検索できるようにしておくことが重要でしょ。
各開発環境に付属するメソッド参照だけだと追跡しきれないので結局、原始的なキーワード検索になる。
各開発環境に付属するメソッド参照だけだと追跡しきれないので結局、原始的なキーワード検索になる。
151デフォルトの名無しさん
2019/06/09(日) 16:38:58.71ID:8KChITol152デフォルトの名無しさん
2019/06/09(日) 18:30:20.13ID:jumrM7iv 教祖様に批判的な意見には無差別な敵意にかられる信者がここにはいるようだね
153デフォルトの名無しさん
2019/06/09(日) 18:55:06.29ID:8KChITol 的外れな事が批判的な意見か
154デフォルトの名無しさん
2019/06/09(日) 19:11:47.62ID:jumrM7iv >>153
ListView_GetItemCountの返却値がvoidというmsdnの公式発表を批判しているのだが
何がどう的外れとおまえさんはぬかすんだ?
typoなら訂正すべきところ、それすら行われていないんだが
おまえさんとこの自転車操業を自転車操業だから大目に見ろという論法を一般化しようってか?
ListView_GetItemCountの返却値がvoidというmsdnの公式発表を批判しているのだが
何がどう的外れとおまえさんはぬかすんだ?
typoなら訂正すべきところ、それすら行われていないんだが
おまえさんとこの自転車操業を自転車操業だから大目に見ろという論法を一般化しようってか?
155デフォルトの名無しさん
2019/06/09(日) 19:20:30.28ID:wmlwj4f3156デフォルトの名無しさん
2019/06/09(日) 19:39:45.23ID:jumrM7iv >>155
それがどう的外れなんだ? msしっかりしろと、あんたが言ったんだが
それがどう的外れなんだ? msしっかりしろと、あんたが言ったんだが
157デフォルトの名無しさん
2019/06/09(日) 20:00:24.85ID:881O2WpS 皮肉であることが俺含めて伝わっていなかったらしい
158デフォルトの名無しさん
2019/06/09(日) 20:09:15.52ID:8KChITol159デフォルトの名無しさん
2019/06/09(日) 20:24:49.88ID:2sqBIYy9 暇そうだな
160デフォルトの名無しさん
2019/06/09(日) 20:55:51.32ID:wmlwj4f3161デフォルトの名無しさん
2019/06/09(日) 22:37:10.83ID:5tHDq89F LVM系ってSendMessageで構造体のポインタ渡すマンだから
外部プロセスから弄ろうとすると面倒すぎる
外部プロセスから弄ろうとすると面倒すぎる
162デフォルトの名無しさん
2019/06/10(月) 12:33:46.13ID:g6tidy/F163デフォルトの名無しさん
2019/06/10(月) 12:42:02.76ID:5kEo9ezr >>158
>>143 を擁護するつもりは無いが
>ListView_GetItemCountを使ってもSendMessageにLVM_GETITEMCOUNT
同じ機能だということも承知の上で
「LVM_GETITEMCOUNT を直で使うしかなさそうだな」→オレオレ関数を造りたいのにオレには造らせない
「ラッパー関数がある場合はSendMessageは使うなというくせに」→MS自身はSNDMSGを使ってる
論点が違うんだよ
MS自身が用意した(SendMessageを使った)ラッパー関数を使えという主張に納得するかしないかの問題
>>143 は
MS無視して(SendMessageを使った)ラッパー関数を自分で造ったら使ってもいいだろってことで
「ラッパー関数がある場合はSendMessageは使うな」に意味が無いと言いたいんだろ
漏れはエントロピー増やすのは反対
>>143 を擁護するつもりは無いが
>ListView_GetItemCountを使ってもSendMessageにLVM_GETITEMCOUNT
同じ機能だということも承知の上で
「LVM_GETITEMCOUNT を直で使うしかなさそうだな」→オレオレ関数を造りたいのにオレには造らせない
「ラッパー関数がある場合はSendMessageは使うなというくせに」→MS自身はSNDMSGを使ってる
論点が違うんだよ
MS自身が用意した(SendMessageを使った)ラッパー関数を使えという主張に納得するかしないかの問題
>>143 は
MS無視して(SendMessageを使った)ラッパー関数を自分で造ったら使ってもいいだろってことで
「ラッパー関数がある場合はSendMessageは使うな」に意味が無いと言いたいんだろ
漏れはエントロピー増やすのは反対
164デフォルトの名無しさん
2019/06/10(月) 13:08:37.02ID:gj8XPCJq165デフォルトの名無しさん
2019/06/10(月) 13:17:29.12ID:5kEo9ezr どっちでもいいな
voidじゃないのにvoidと書かれてるのが問題なんだから
voidじゃないのにvoidと書かれてるのが問題なんだから
166デフォルトの名無しさん
2019/06/10(月) 13:19:51.67ID:Fv0cH94V167デフォルトの名無しさん
2019/06/10(月) 13:33:14.11ID:gj8XPCJq168デフォルトの名無しさん
2019/06/10(月) 15:19:10.62ID:U3FSgHuu ここまで漏れの自演
169デフォルトの名無しさん
2019/06/10(月) 18:54:19.05ID:h2AhNEsP すごいレスが伸びてると思ったら・・・・
人と人をいがみ合わせるMSが巨悪だということで手打ちにしたらいかがだろうか
人と人をいがみ合わせるMSが巨悪だということで手打ちにしたらいかがだろうか
170デフォルトの名無しさん
2019/06/10(月) 19:18:33.98ID:Fj7bi2y1 ドキュメントが間違ってたぐらいで鬼の首取ったようにギャアギャア騒ぐことが許されるのは初心者のうちだけでしょ。
171デフォルトの名無しさん
2019/06/10(月) 19:34:39.88ID:OlE51f/u 単なる指摘に>>143が過剰反応してるだけ
172デフォルトの名無しさん
2019/06/10(月) 22:22:35.68ID:aj7K9vQb173デフォルトの名無しさん
2019/06/10(月) 22:23:29.07ID:aj7K9vQb >>162
ほんこれ
ほんこれ
174デフォルトの名無しさん
2019/06/10(月) 22:29:27.87ID:TC6Uh5Cw またエントロピーが増えてきたw
175デフォルトの名無しさん
2019/06/11(火) 09:28:10.66ID:oRHFwQ78 >>172
誰もそんな事言ってないけど?
誰もそんな事言ってないけど?
176デフォルトの名無しさん
2019/06/11(火) 14:20:31.55ID:lbh69FdF 初心者質問です。
VBAからIEで印刷するときにプリンター選択を自由に行いたいです。
プリンタを選択する部分は、syslistview32というクラス名で、hwndまでわかっています。
sendmessageの、LVM_GETITEMCOUNTで、プリンターの数まで取得できることを確認しました。
今は、LVM_SETITEMSTATEで、構造体とテキトーなindexをsetして、sendmessageをしたら、IEが落ちてしまうような状態です。
メモリー書き込みも考慮しなければいけないなど情報も見かけましたが、VBA半年程度しかやっていないので、OSに近い処理は何から調べたらいいのかわかりません
プリンター名が指定の文字列に該当するもののindexをsyslistview32から取得し、syslistview32の選択をそのindexにするような、VBAのコードをお教えいただくことはできないでしょう。(Cなどでも大丈夫です。)
以上、よろしくお願いします。
VBAからIEで印刷するときにプリンター選択を自由に行いたいです。
プリンタを選択する部分は、syslistview32というクラス名で、hwndまでわかっています。
sendmessageの、LVM_GETITEMCOUNTで、プリンターの数まで取得できることを確認しました。
今は、LVM_SETITEMSTATEで、構造体とテキトーなindexをsetして、sendmessageをしたら、IEが落ちてしまうような状態です。
メモリー書き込みも考慮しなければいけないなど情報も見かけましたが、VBA半年程度しかやっていないので、OSに近い処理は何から調べたらいいのかわかりません
プリンター名が指定の文字列に該当するもののindexをsyslistview32から取得し、syslistview32の選択をそのindexにするような、VBAのコードをお教えいただくことはできないでしょう。(Cなどでも大丈夫です。)
以上、よろしくお願いします。
177デフォルトの名無しさん
2019/06/11(火) 14:27:56.01ID:Y18rXsQw LVM_GETITEMCOUNT を NG にした
残念だったな
残念だったな
178デフォルトの名無しさん
2019/06/11(火) 15:50:09.81ID:mh1wU8om とばっちりカワイソス
179デフォルトの名無しさん
2019/06/11(火) 16:15:17.11ID:DThKFJnr LVM_GETITEMCOUNTって書いとけばキチガイ一人避けれるということでしょ
180デフォルトの名無しさん
2019/06/11(火) 16:18:02.74ID:DThKFJnr181デフォルトの名無しさん
2019/06/11(火) 16:34:17.98ID:+sMFHfdj LVM_GETITEMCOUNT スレッドまたぎはNG
182デフォルトの名無しさん
2019/06/11(火) 17:55:31.55ID:b3tPk+od >>180
ありがとうございます
今はそれで運用しているのですが、デフォルトプリンターを変更しても、IEで現在立ち上げているページのプリンターの選択は変わりませんでした。(新しいタブやページなどは変わる)
ですので、デフォルトプリンターを変更した後タブを複製して、そのタブをアクティブにして、複製されていないhtmlの箇所をコピーして、印刷して、タブを閉じて、デフォルトプリンターを元に戻すような処理にしています。
プリンターを変更しないといけない処理が過去にあったりしたそうなので、その場でプリンター選択を操作できるのであれば、知りたいという感じです
ありがとうございます
今はそれで運用しているのですが、デフォルトプリンターを変更しても、IEで現在立ち上げているページのプリンターの選択は変わりませんでした。(新しいタブやページなどは変わる)
ですので、デフォルトプリンターを変更した後タブを複製して、そのタブをアクティブにして、複製されていないhtmlの箇所をコピーして、印刷して、タブを閉じて、デフォルトプリンターを元に戻すような処理にしています。
プリンターを変更しないといけない処理が過去にあったりしたそうなので、その場でプリンター選択を操作できるのであれば、知りたいという感じです
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 新米の予想収穫量、1割増 746万8000トン―農水省 [蚤の市★]
- 【悲報】『岡田が日和って逃げたのに高市が自分から突っ込んだ発言をして自爆した』⬅国会答弁、実際はこれだった…… [158478931]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 自分に自信がない女の子、陽キャ美容室で80cmのエクステを付けた結果wwwwwwwwwwwwwwwwwww [329329848]
- 【実況】博衣こよりのえちえち歌枠🧪
- 外務省局長、よくわからないまま帰国へ [834922174]
- 【朗報】外務省局長、中国側の要求を断固拒否。「高市さんの答弁は日本政府の立場を変えるものではないし、撤回しない」 [519511584]
