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:6ExXwgQU132デフォルトの名無しさん
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 寄生獣だな
203デフォルトの名無しさん
2019/06/16(日) 15:19:28.33ID:RxcvAD6u ダメだぁ...
WriteProcessMemory がどうしても失敗する(´・ω・`)
デスクトップのsyslistview32やexplorerのDirectUIHWNDでは成功(返り値1)するんだけど、
メモ帳やIEのプリンター選択のsyslistview32や、メモ帳のEditに対しては失敗(返り値0)する
なんでー?
WriteProcessMemory がどうしても失敗する(´・ω・`)
デスクトップのsyslistview32やexplorerのDirectUIHWNDでは成功(返り値1)するんだけど、
メモ帳やIEのプリンター選択のsyslistview32や、メモ帳のEditに対しては失敗(返り値0)する
なんでー?
204デフォルトの名無しさん
2019/06/16(日) 15:34:33.84ID:RxcvAD6u Err.LastDllError の番号は998で、
メモリ ロケーションへのアクセスが無効です。
メモリ ロケーションへのアクセスが無効です。
205デフォルトの名無しさん
2019/06/16(日) 17:12:52.81ID:Z9zSyDOE WOW64
206デフォルトの名無しさん
2019/06/16(日) 20:39:35.26ID:RxcvAD6u >>205
64bit版でコンパイルしたら、32bit版のプロセスに介入することできないから難しいという感じでしょうか(´;Д;`)
64bit版のIEでも返り値は0でした...
Long型を、LongPtrにしてもダメでした...
64bit版でコンパイルしたら、32bit版のプロセスに介入することできないから難しいという感じでしょうか(´;Д;`)
64bit版のIEでも返り値は0でした...
Long型を、LongPtrにしてもダメでした...
207デフォルトの名無しさん
2019/06/17(月) 02:30:25.07ID:q7RVlLCN 32bit,x64の実行ファイル2つ作って用途に合わせて切り替えたら?
208デフォルトの名無しさん
2019/06/17(月) 11:24:55.79ID:lxO8a0KV いよいよwindowsを捨てる時が来たようだ
209デフォルトの名無しさん
2019/06/18(火) 04:17:01.07ID:fify6tPn また買えばいいよ
210デフォルトの名無しさん
2019/06/18(火) 06:23:28.70ID:3nOE2mBA プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
211デフォルトの名無しさん
2019/06/18(火) 12:45:38.38ID:1CtlGReK212デフォルトの名無しさん
2019/06/22(土) 14:06:32.16ID:DZJ/hc7X213デフォルトの名無しさん
2019/06/22(土) 14:29:13.02ID:8YBlX71B seamless ωωω
214デフォルトの名無しさん
2019/06/25(火) 16:44:22.77ID:hU5ITaEA 既存の Console に代わる Windows Terminal のプレビュー版が公開されたけど
今後コンソールアプリはどういう作りになるんだろう
既存の ConsoleAPI またはその拡張API になるのか
それともConsoleAPI は廃止されて Unix なんかと同様のエスケープシーケンスを制御する
curses ライブラリみたいのが提供されるのか
まぁオープンソースみたいだからソース見ればいいんだろうけど
今後コンソールアプリはどういう作りになるんだろう
既存の ConsoleAPI またはその拡張API になるのか
それともConsoleAPI は廃止されて Unix なんかと同様のエスケープシーケンスを制御する
curses ライブラリみたいのが提供されるのか
まぁオープンソースみたいだからソース見ればいいんだろうけど
215デフォルトの名無しさん
2019/06/25(火) 16:58:20.59ID:vGWUuZ9A 初歩的な質問ですが、64bitのプロセスにもWin32APIって使えますか?
216デフォルトの名無しさん
2019/06/25(火) 17:11:37.24ID:JYAeHTmF 使える
ただし、例えばGetWindowLongのようにポインタのビット数を決め打ちしている箇所に注意が必要
ただし、例えばGetWindowLongのようにポインタのビット数を決め打ちしている箇所に注意が必要
217蟻人間 ◆T6xkBnTXz7B0
2019/06/25(火) 17:11:56.15ID:CrMrKXln >>215
Win64APIではWoW64というシステムがWin32からWin64への互換性レイヤーになる。
Win64APIではWoW64というシステムがWin32からWin64への互換性レイヤーになる。
218デフォルトの名無しさん
2019/06/25(火) 17:35:47.56ID:XhZtJiMw 32bit OS の場合
System32 = 32bit 用 DLL (Win32API)
64bit OS の場合
System32 = 64bit 用 DLL (64bitWin32API)
SysWOW64 = 32bit 用 DLL (32bitWin32API)
System32 = 32bit 用 DLL (Win32API)
64bit OS の場合
System32 = 64bit 用 DLL (64bitWin32API)
SysWOW64 = 32bit 用 DLL (32bitWin32API)
219デフォルトの名無しさん
2019/06/25(火) 17:37:53.13ID:vGWUuZ9A ありがとうございます
これで気にせず昔の情報あされます
これで気にせず昔の情報あされます
220デフォルトの名無しさん
2019/07/10(水) 12:39:20.34ID:LrFGCWwq SysListView32のリストビューで、縦スクロールバーが表示されている状態で、
アイテムをクリックして選択し、すぐにホイールを回してそのアイテムを画面外に出すと、
一定時間後にそのアイテムが表示される位置まで飛んでしまいます。
選択されていないアイテムよりも、すでに選択されているアイテムをクリックした方が、
ホイールを回すまでの時間が多少長くてもその現象が起きます。
これWindows自体のバグでしょうか。
内部のタイマー処理でも絡んでいるのでしょうか。
アイテムをクリックして選択し、すぐにホイールを回してそのアイテムを画面外に出すと、
一定時間後にそのアイテムが表示される位置まで飛んでしまいます。
選択されていないアイテムよりも、すでに選択されているアイテムをクリックした方が、
ホイールを回すまでの時間が多少長くてもその現象が起きます。
これWindows自体のバグでしょうか。
内部のタイマー処理でも絡んでいるのでしょうか。
221デフォルトの名無しさん
2019/07/10(水) 12:47:11.51ID:+uFplCdI 君が発見出来るような程度のバグなら
既に誰かが発見して治してるよ
既に誰かが発見して治してるよ
222デフォルトの名無しさん
2019/07/10(水) 12:50:54.60ID:z7915HRG ホイールは3rdパーティーのマウスドライバや常駐もので
余計にメッセージ飛ばしたりすることあるから厄介
余計にメッセージ飛ばしたりすることあるから厄介
223デフォルトの名無しさん
2019/07/10(水) 13:04:08.77ID:GamN/JFp Win10の一年位前のビルドでSysListView32がスクロールバーを出してる状態でドラッグすると
画面右端にカーソルがすっ飛ぶバグがあったな
SysListView32使ってるアプリは多いからこれは一般ユーザーもすぐに気付い
画面右端にカーソルがすっ飛ぶバグがあったな
SysListView32使ってるアプリは多いからこれは一般ユーザーもすぐに気付い
224デフォルトの名無しさん
2019/07/10(水) 13:14:56.30ID:LrFGCWwq >>222
ホイールでなくスクロールバーのドラッグでも起きました。
操作が難しくなりますが、アイテムをクリックして選択し、
すぐにスクロールバーをドラッグしてそのアイテムを画面外に出すと、やはり同じ現象が起きます。
ホイールでなくスクロールバーのドラッグでも起きました。
操作が難しくなりますが、アイテムをクリックして選択し、
すぐにスクロールバーをドラッグしてそのアイテムを画面外に出すと、やはり同じ現象が起きます。
225デフォルトの名無しさん
2019/07/11(木) 10:11:43.64ID:Bpzge626 全然関係なくて申し訳ないが
シングルクリックとダブルクリックの判定って結構難しいよな
クリックのメッセージが飛んできても
シングルクリックのつもりなのか
ダブルクリックの一回目のクリックのつもりなのか
その時点では判断が付かない
なのでダブルクリックの二回目のクリックが飛んで来るかどうか
少し時間をおいてみるしかない
この間にユーザーが何か操作すると
シングルクリックとダブルクリックの判定って結構難しいよな
クリックのメッセージが飛んできても
シングルクリックのつもりなのか
ダブルクリックの一回目のクリックのつもりなのか
その時点では判断が付かない
なのでダブルクリックの二回目のクリックが飛んで来るかどうか
少し時間をおいてみるしかない
この間にユーザーが何か操作すると
226デフォルトの名無しさん
2019/07/11(木) 10:24:09.19ID:BSTUJEPb >>225
っWM_LBUTTONDBLCLK
っWM_LBUTTONDBLCLK
227デフォルトの名無しさん
2019/07/11(木) 10:24:15.51ID:dt9f58xR アホ発見
228デフォルトの名無しさん
2019/07/11(木) 10:27:17.02ID:xJ4m2V3T かわいい
229デフォルトの名無しさん
2019/07/11(木) 10:32:56.46ID:Bpzge626 >>226
WM_LBUTTONDBLCLKが飛んで来たらダブルクリック
でも飛んでこないかもしれない(つまりシングルクリック)という事だよ
飛んでくるかどうかは少し待ってみないとわからない
エクスプローラでファイルの名前の変更するとき
少し待たされるあの動作
タイマー使ってWM_LBUTTONDBLCLKが来るか少し待ってみるっていう
でもこの魔の時間にユーザーが操作することがあって
例えばホイール回したりスクロールバー触ったり
WM_LBUTTONDBLCLKが飛んで来たらダブルクリック
でも飛んでこないかもしれない(つまりシングルクリック)という事だよ
飛んでくるかどうかは少し待ってみないとわからない
エクスプローラでファイルの名前の変更するとき
少し待たされるあの動作
タイマー使ってWM_LBUTTONDBLCLKが来るか少し待ってみるっていう
でもこの魔の時間にユーザーが操作することがあって
例えばホイール回したりスクロールバー触ったり
230デフォルトの名無しさん
2019/07/11(木) 10:50:36.09ID:BSTUJEPb231デフォルトの名無しさん
2019/07/11(木) 10:56:55.16ID:dt9f58xR ダブルクリックはシングルボタンのAppleから持ち込まれた悪臭
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★10 [ぐれ★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「高市さん負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 [樽悶★]
- トランプ氏「台湾侵攻すれば北京爆撃」“過激予告発言”報道がXで再燃「高市氏の1億倍やばい」 [七波羅探題★]
- 【為替】対ドルで157円台、対ユーロ181円台に下落 財政悪化を警戒 [蚤の市★]
- 【自民党】鈴木宗男議員「日本側はわざわざ中国に行ったということは、歩み寄るための行動で、頭を下げるのが仕事である」 [樽悶★]
- 【ペルソナ・ノン・グラータ】中国総領事の早期国外退去を首相に要請へ 自民・保守系グループ「日本の尊厳と国益を護(まも)る会」 [ぐれ★]
- 中国報道、高市首相を「毒苗」と中傷😡 [399259198]
- 【高市悲報】🇨🇳中国「日本への報復措置? 他にいくらでも方法はある。 まだまだやめないよ」 😨😱 [485983549]
- でも韓国ドラマに出てる女優って美人多いよな
- 安倍晋三さん、完全にチェックアウトしてしまう…「母の部屋に安倍元首相が表紙の旧統一教会の機関誌があった」 [405019576]
- 【悲報】日本、パンダ0にwwwwwwwwwwww高市さんありがとう🐼 [271912485]
- 高市早苗、約1ヶ月でドル円・10円円安を達成 [256556981]
