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:6ExXwgQU102デフォルトの名無しさん
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の箇所をコピーして、印刷して、タブを閉じて、デフォルトプリンターを元に戻すような処理にしています。
プリンターを変更しないといけない処理が過去にあったりしたそうなので、その場でプリンター選択を操作できるのであれば、知りたいという感じです
183デフォルトの名無しさん
2019/06/11(火) 18:15:49.68ID:1BO360IJ LVM_SETITEMSTATEで落ちるのはオレオレ構造体のミスとかじゃないの
184デフォルトの名無しさん
2019/06/11(火) 19:34:28.79ID:iv+iCaIJ 別プロセスからメッセージ投げるから、IEが構造体にアクセスできないってことでしょ?
VirtualAllocExでメモリ確保してそこに構造体用意しては
LVM_GETITEMCOUNT
VirtualAllocExでメモリ確保してそこに構造体用意しては
LVM_GETITEMCOUNT
185デフォルトの名無しさん
2019/06/11(火) 20:56:45.31ID:HsLA7EXf186デフォルトの名無しさん
2019/06/11(火) 21:07:50.93ID:oRHFwQ78187デフォルトの名無しさん
2019/06/11(火) 22:59:27.04ID:xU3mv9gp 意味が分からん。
ドキュメントが間違ってるだけで、マクロ関数はintで実装されてるから気にせず使えって話で合ってる?
ドキュメントが間違ってるだけで、マクロ関数はintで実装されてるから気にせず使えって話で合ってる?
188デフォルトの名無しさん
2019/06/11(火) 23:02:51.29ID:VKkOh0JU >>184
ありがとうございます。少し調べてやってみます。
ありがとうございます。少し調べてやってみます。
189デフォルトの名無しさん
2019/06/14(金) 00:21:25.69ID:TGTlo7vf WiteProcessMemoryの返り値が0になる(´・ω・`)
GetSharedMemの返り値 のアドレスが、「-1597046784」 とか返ってくる(´・ω・`)
Long型(-200万〜200万くらい)なのに(´・ω・`)
助けてください(´・ω・`)
tid = GetWindowThreadProcessId(lngSysListView32, pid)
hProc = OpenProcess(PROCESS_VM_OPERATION Or PROCESS_VM_READ Or PROCESS_VM_WRITE, _
False, pid)
lpShared1 = GetSharedMem(hProc, LenB(li))
lpShared2 = GetSharedMem(hProc, LenB(lt))
For i = 0 To maxitem - 1
li.mask = LVIF_TEXT
li.iItem = i
li.iSubItem = 0
li.lpszText = lpShared2
li.cchTextMax = LenB(lt)
lngRC = WriteProcessMemory(hProc, ByVal lpShared1, li, LenB(li), lWritten)
lngRC = WriteProcessMemory(hProc, ByVal lpShared2, lt, LenB(lt), lWritten)
Public Function GetSharedMem(ByRef hProc As Long, ByVal memSize As Long) As Long
GetSharedMem = VirtualAllocEx(ByVal hProc, ByVal 0&, ByVal memSize, MEM_RESERVE Or MEM_COMMIT, PAGE_READWRITE)
End Function
GetSharedMemの返り値 のアドレスが、「-1597046784」 とか返ってくる(´・ω・`)
Long型(-200万〜200万くらい)なのに(´・ω・`)
助けてください(´・ω・`)
tid = GetWindowThreadProcessId(lngSysListView32, pid)
hProc = OpenProcess(PROCESS_VM_OPERATION Or PROCESS_VM_READ Or PROCESS_VM_WRITE, _
False, pid)
lpShared1 = GetSharedMem(hProc, LenB(li))
lpShared2 = GetSharedMem(hProc, LenB(lt))
For i = 0 To maxitem - 1
li.mask = LVIF_TEXT
li.iItem = i
li.iSubItem = 0
li.lpszText = lpShared2
li.cchTextMax = LenB(lt)
lngRC = WriteProcessMemory(hProc, ByVal lpShared1, li, LenB(li), lWritten)
lngRC = WriteProcessMemory(hProc, ByVal lpShared2, lt, LenB(lt), lWritten)
Public Function GetSharedMem(ByRef hProc As Long, ByVal memSize As Long) As Long
GetSharedMem = VirtualAllocEx(ByVal hProc, ByVal 0&, ByVal memSize, MEM_RESERVE Or MEM_COMMIT, PAGE_READWRITE)
End Function
190デフォルトの名無しさん
2019/06/14(金) 01:18:48.45ID:udVNzUQx 176だよな・・・
GetSharedMemなんてAPIあったっけ?と思ったら、MSDNのサンプルまんま使ってるのかな?
lpShared2とかltとか変数の意味が分からん
この辺参考にして作り直したら
ttp://hongliang.seesaa.net/article/7851680.html
GetSharedMemなんてAPIあったっけ?と思ったら、MSDNのサンプルまんま使ってるのかな?
lpShared2とかltとか変数の意味が分からん
この辺参考にして作り直したら
ttp://hongliang.seesaa.net/article/7851680.html
191デフォルトの名無しさん
2019/06/14(金) 02:03:09.01ID:WbpzR08B -1597046784==0xa0cf0000、別におかしくはなさそうな
>Long型(-200万〜200万くらい)なのに(´・ω・`)
VBA(VBS?)のLongって22bitなの?
10bit勘違いしてるだけでは?
>Long型(-200万〜200万くらい)なのに(´・ω・`)
VBA(VBS?)のLongって22bitなの?
10bit勘違いしてるだけでは?
192デフォルトの名無しさん
2019/06/14(金) 07:51:56.01ID:AF2NDvCn >>190
ありがとうございます
読んで理解して再度実装してみます
今回のコードはこれを丸コピして、プリンター選択画面に対して試してみているという感じです。(プリンター名一覧を取得できるかどうか)
https://teratail.com/questions/120773
>>192
うわ、本当だ。知れて良かったです。ありがとうございます
bit反転が起きていると思って、反転させてみたら(+2 ^32?)オーバーフローが起きて、勘違いしていました
LVM_SETITEMSTATEはここを参考にして書いていました
https://stackoverflow.com/questions/12342433/i-need-to-select-an-item-of-a-syslistview32-using-sendmessage-in-c-sharp?rq=1
https://oshiete.goo.ne.jp/qa/4705094.html
今調べたらこっちのはSolvedなので参考にしてみます
https://social.msdn.microsoft.com/Forums/vstudio/en-US/f7788669-c3a9-4d80-b61b-8e26870c7cf4/select-listviewitem-using-lvmsetitemstatesolved?forum=vbgeneral
いろいろと助かります
ありがとうございます
読んで理解して再度実装してみます
今回のコードはこれを丸コピして、プリンター選択画面に対して試してみているという感じです。(プリンター名一覧を取得できるかどうか)
https://teratail.com/questions/120773
>>192
うわ、本当だ。知れて良かったです。ありがとうございます
bit反転が起きていると思って、反転させてみたら(+2 ^32?)オーバーフローが起きて、勘違いしていました
LVM_SETITEMSTATEはここを参考にして書いていました
https://stackoverflow.com/questions/12342433/i-need-to-select-an-item-of-a-syslistview32-using-sendmessage-in-c-sharp?rq=1
https://oshiete.goo.ne.jp/qa/4705094.html
今調べたらこっちのはSolvedなので参考にしてみます
https://social.msdn.microsoft.com/Forums/vstudio/en-US/f7788669-c3a9-4d80-b61b-8e26870c7cf4/select-listviewitem-using-lvmsetitemstatesolved?forum=vbgeneral
いろいろと助かります
193デフォルトの名無しさん
2019/06/14(金) 12:34:20.64ID:rNE5XrYC 馬鹿には無理
194デフォルトの名無しさん
2019/06/14(金) 12:52:57.90ID:bpAwmG5b ソフト業界でマイクロソフトは邪魔でしかない。
まともなものをよくするならいいが、悪するのがマイクロソフトで
しかも、おかしなものを直さず放置して悪化させる。
マイクロソフトは邪魔な存在でしかない。
マイクロソフトの弱点は仕様通りに作れないのは欠点は
同時に自社のソフトをWindows以外のデバイスへ移植できないことも意味する。
そこ弱点だし、将来性がないのもそのあたり。
Windowsの次のOSの仕組みを作ってもソフトの移植ができない。
来年か再来年あたりに出すわけだが引き継ぎできないだろうね。
昔にアーケードゲームの中途半端な移植のファミコンソフトレベルでしかない。
作っても何か違うって状態になる。
まともなものをよくするならいいが、悪するのがマイクロソフトで
しかも、おかしなものを直さず放置して悪化させる。
マイクロソフトは邪魔な存在でしかない。
マイクロソフトの弱点は仕様通りに作れないのは欠点は
同時に自社のソフトをWindows以外のデバイスへ移植できないことも意味する。
そこ弱点だし、将来性がないのもそのあたり。
Windowsの次のOSの仕組みを作ってもソフトの移植ができない。
来年か再来年あたりに出すわけだが引き継ぎできないだろうね。
昔にアーケードゲームの中途半端な移植のファミコンソフトレベルでしかない。
作っても何か違うって状態になる。
195デフォルトの名無しさん
2019/06/14(金) 13:22:29.13ID:FKc1iwhz196デフォルトの名無しさん
2019/06/14(金) 15:32:06.70ID:vVm8Z7bX >>194
内容はともかく、もうちょっと日本語を頑張れ。
内容はともかく、もうちょっと日本語を頑張れ。
197デフォルトの名無しさん
2019/06/14(金) 15:50:36.86ID:sZCV0u2+ >>194
>マイクロソフトの弱点は仕様通りに作れないのは欠点は
同時に自社のソフトをWindows以外のデバイスへ移植できないことも意味する。
この文章は日本語としておかしい。
>昔にアーケードゲームの中途半端な移植のファミコンソフトレベルでしかない。
この文章も日本語としておかしい
>マイクロソフトの弱点は仕様通りに作れないのは欠点は
同時に自社のソフトをWindows以外のデバイスへ移植できないことも意味する。
この文章は日本語としておかしい。
>昔にアーケードゲームの中途半端な移植のファミコンソフトレベルでしかない。
この文章も日本語としておかしい
>>194
>悪するのが
>マイクロソフトの弱点は仕様通りに作れないのは欠点は同時に自社のソフトをWindows以外のデバイスへ移植できないことも意味する。
>そこ弱点だし
>そのあたり
>昔に
以上、日本語としておかしい部分を抽出したので訂正するように
>悪するのが
>マイクロソフトの弱点は仕様通りに作れないのは欠点は同時に自社のソフトをWindows以外のデバイスへ移植できないことも意味する。
>そこ弱点だし
>そのあたり
>昔に
以上、日本語としておかしい部分を抽出したので訂正するように
199デフォルトの名無しさん
2019/06/14(金) 21:10:26.30ID:B8znrq/O 日本語おかしい奴vsあたまおかしい奴
200デフォルトの名無しさん
2019/06/14(金) 21:14:02.15ID:RsWDD4iG エイリアン対アバター並の意欲作だな
201蟻人間 ◆T6xkBnTXz7B0
2019/06/14(金) 21:14:45.86ID:lQGpZUNA あたまがぱっかーん
202デフォルトの名無しさん
2019/06/16(日) 04:09:22.45ID:HeZkFDT3 寄生獣だな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★5 [BFU★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- 俺「お湯を流してと…」シンク「ボンッw」
- 【悲報】ヤフコメ民「中国が水産物を輸入禁止にするなら、日本国民向けに安く販売すればいい。中国依存から脱するべき」 [153736977]
- ヤフコメ「中国への輸出がなくなる事で、日本国内で美味しくいただける事に感謝します」👈やたら政権寄りなのはなぜ?(´・ω・`) [399259198]
- もう寝ます
- 1,000万円のBMWに擦ってしまった札幌のガキ、捕らえられてガチで詰む [329329848]
