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
560デフォルトの名無しさん
2017/04/11(火) 17:55:40.75ID:xC3FSY5Y ちょっと語弊がありましたので訂正です。
ここで言う「サブメニュー」とは、CreateMenu などで作られる一般的に言うメニューではなく、
単なるポップアップスタイルのタイトルなしダイアログのことです。
CreateDialog で画面を作っています。
勝手に言葉を作ってすみません。
ここで言う「サブメニュー」とは、CreateMenu などで作られる一般的に言うメニューではなく、
単なるポップアップスタイルのタイトルなしダイアログのことです。
CreateDialog で画面を作っています。
勝手に言葉を作ってすみません。
561デフォルトの名無しさん
2017/04/11(火) 18:23:36.29ID:9HH9Hffg 2つウインドウがあって、1つはメインウインドウ、もう1つはメニューウインドウ
メインウインドウにキーフォーカスがあるとメニューウインドウでキー操作できず、メニューウインドウにフォーカスがあるとメインウインドウでキー操作できない
メッセージを適宜流せばいいんじゃないか?
メインウインドウにキーフォーカスがあるとメニューウインドウでキー操作できず、メニューウインドウにフォーカスがあるとメインウインドウでキー操作できない
メッセージを適宜流せばいいんじゃないか?
562デフォルトの名無しさん
2017/04/11(火) 22:23:16.04ID:xC3FSY5Y フォーカスはそれがあるウィンドウで処理できるようなUIを考えています。
ユーザーがメインウィンドウにフォーカスを(マウスなどで)移せば、
以降はそのウィンドウでキーボード操作ができればいいです。その逆も然り。
適宜メッセージを流すにしても、結局どこでメッセージループを回すかという
話になるのではと思うのですが、違うのでしょうか?
ユーザーがメインウィンドウにフォーカスを(マウスなどで)移せば、
以降はそのウィンドウでキーボード操作ができればいいです。その逆も然り。
適宜メッセージを流すにしても、結局どこでメッセージループを回すかという
話になるのではと思うのですが、違うのでしょうか?
563デフォルトの名無しさん
2017/04/12(水) 22:43:12.22ID:iYQoJoP4 なにいってんだこいつ
564デフォルトの名無しさん
2017/04/12(水) 23:28:35.38ID:lhjyuLrL 分からないのに無理して答えるなよ
565デフォルトの名無しさん
2017/04/13(木) 02:45:23.01ID:8XBnDqPS 最近よく足がつる
566デフォルトの名無しさん
2017/04/13(木) 11:42:08.71ID:9jlRESvt >>562
フォーカスを移してキーボード操作なんて危険なことを平気でやろうとする人はWin32APIなんて使わない方が良いんじゃね?
普通はフォーカスを移そうとしているオブジェクトにフォーカスを移す移さない関係なく文字列送信するもんじゃないの?
キーボード操作中にユーザーが別のウィンドウをクリックした場合とか考えないの?
フォーカスを移してキーボード操作なんて危険なことを平気でやろうとする人はWin32APIなんて使わない方が良いんじゃね?
普通はフォーカスを移そうとしているオブジェクトにフォーカスを移す移さない関係なく文字列送信するもんじゃないの?
キーボード操作中にユーザーが別のウィンドウをクリックした場合とか考えないの?
567デフォルトの名無しさん
2017/04/13(木) 13:32:39.75ID:OCOdT3+H568デフォルトの名無しさん
2017/04/13(木) 17:59:38.26ID:zh4lU2gJ >>566
なんで何も理解できていないのに無理に話に入ろうとするの?
なんで何も理解できていないのに無理に話に入ろうとするの?
569デフォルトの名無しさん
2017/04/13(木) 18:16:04.36ID:xmE6C1ua spyで見てどこにメッセージ届いてるか見ろ
570デフォルトの名無しさん
2017/04/14(金) 00:20:20.46ID:+RGtmVs/ フォースを使うのじゃ
571デフォルトの名無しさん
2017/04/14(金) 00:39:04.52ID:6ECgJlCU Windows 10 Creators Update入れたら
DrawTextで大きめのフォントの描画が異常に遅くなった。
高DPI未対応のアプリは見捨ててGDIはシンプルに動いてほしい。
DrawTextで大きめのフォントの描画が異常に遅くなった。
高DPI未対応のアプリは見捨ててGDIはシンプルに動いてほしい。
572デフォルトの名無しさん
2017/04/14(金) 05:38:58.24ID:kIyPPZzD >>567
2行目めちゃくちゃだなw
2行目めちゃくちゃだなw
573デフォルトの名無しさん
2017/04/14(金) 10:41:54.49ID:7fCdXhh/574デフォルトの名無しさん
2017/04/14(金) 11:11:32.10ID:LVRPT4/o Win32APIの後継でc++/cliじゃないライブラリってないのかね?
575デフォルトの名無しさん
2017/04/14(金) 11:29:24.19ID:iAr+rl+J576デフォルトの名無しさん
2017/04/14(金) 15:40:59.51ID:Z/bjVn5R しいて言えばQtじゃね?
Qtのアプリって結構あるよね
Qtのアプリって結構あるよね
577デフォルトの名無しさん
2017/04/14(金) 18:23:47.19ID:R7yCPQGT >>574
ライブラリってかAPIはユニバーサルwinのがそれじゃないの?
ライブラリってかAPIはユニバーサルwinのがそれじゃないの?
578デフォルトの名無しさん
2017/04/14(金) 18:31:24.82ID:uRqmXJpf WinRT API
579デフォルトの名無しさん
2017/04/14(金) 22:27:03.58ID:Gjx6wpyy ここでWTLがまさかの大復活を遂げるわけよ
580デフォルトの名無しさん
2017/04/15(土) 06:16:39.59ID:qt9qpnGQ ちょっとしたもんつくるにはwtlが一番いい
581デフォルトの名無しさん
2017/04/15(土) 18:14:11.71ID:JjgxHVsv582デフォルトの名無しさん
2017/05/05(金) 00:01:23.37ID:j+7+fM28 Windows10S では Win32/.net アプリは動かないだと。
UWPに変換すれば行けるらしいが、もうおしまいか?
UWPに変換すれば行けるらしいが、もうおしまいか?
583デフォルトの名無しさん
2017/05/05(金) 00:15:11.42ID:NU+YZp1H Windows10Sが相手にされなくて終わるだけ。
584デフォルトの名無しさん
2017/05/05(金) 00:41:30.18ID:W8ns9+oF 既に相手されていない感
585デフォルトの名無しさん
2017/05/05(金) 03:08:44.86ID:IUUvTOhg お前らが相手にされてないじゃん
おっさんしかいないだろうこのスレ
おっさんしかいないだろうこのスレ
586デフォルトの名無しさん
2017/05/05(金) 08:12:57.54ID:WdEsZnG0 今回のターゲット層はメインストリームじゃないから
既存のアプリが使えなくても不満は少ないと踏んでるんだろう
まあWindowsRTみたいに核爆死はしないんじゃないか
MSもそんなに数を出荷しないだろうから
もう一度WindowsRTをSurfaceやらに載せることを夢見ているのなら
やはりもう一度爆死するだろう
既存のアプリが使えなくても不満は少ないと踏んでるんだろう
まあWindowsRTみたいに核爆死はしないんじゃないか
MSもそんなに数を出荷しないだろうから
もう一度WindowsRTをSurfaceやらに載せることを夢見ているのなら
やはりもう一度爆死するだろう
587デフォルトの名無しさん
2017/05/05(金) 18:13:03.55ID:ERU+CvkU 教育用途だっけ
今時のキッズは学校支給タブレットの制限外してゲームしてるらしいからその点ではいいかもな
今時のキッズは学校支給タブレットの制限外してゲームしてるらしいからその点ではいいかもな
588片山博文MZ ◆T6xkBnTXz7B0
2017/05/06(土) 18:59:21.43ID:0OTJXmRc あるプログラムで使用中のGDIオブジェクトの個数を数える方法はありますか?
589デフォルトの名無しさん
2017/05/06(土) 20:36:55.22ID:TAVkl+y8 タスクマネージャで見れるよ
590デフォルトの名無しさん
2017/05/06(土) 20:50:23.24ID:IA0Dpe0I GetGuiResources(hProcess, GR_GDIOBJECTS)
591デフォルトの名無しさん
2017/05/06(土) 20:53:17.94ID:Mwx5Td89592片山博文MZ ◆T6xkBnTXz7B0
2017/05/06(土) 20:54:47.07ID:NWV3MG9s ありがとー。
593デフォルトの名無しさん
2017/05/06(土) 21:06:22.69ID:HiVS0qll なにするつもりなのさ
594片山博文MZ ◆T6xkBnTXz7B0
2017/05/06(土) 21:08:39.06ID:NWV3MG9s メモリーリーク対策やデバッグやらだよ。
595雪風
2017/05/06(土) 21:54:04.69ID:QwsGrGdx >>593
自演 オナヌーだろ
自演 オナヌーだろ
596デフォルトの名無しさん
2017/05/06(土) 22:06:22.10ID:sQ11ayCM 書いてて恥ずかしくないの?
597デフォルトの名無しさん
2017/05/07(日) 02:01:32.34ID:KMqw+OzL598デフォルトの名無しさん
2017/05/07(日) 07:23:08.46ID:fOF53fEF firefoxとかリーク笑えるよな
599デフォルトの名無しさん
2017/05/09(火) 09:36:37.30ID:PBqzgUoz 特定のアプリケーションがハング状態になってるかを判断する方法ありませんか?
.netではRespondingプロパティで判断できるようですがwin32apiでやりたいので
.netではRespondingプロパティで判断できるようですがwin32apiでやりたいので
600デフォルトの名無しさん
2017/05/09(火) 09:45:13.26ID:XSL1JKA6 そこまで分かってるならソース読めよ
https://github.com/Microsoft/referencesource/blob/master/System/services/monitoring/system/diagnosticts/Process.cs
SendMessageTimeoutでWM_NULLを投げてるだけだな
https://github.com/Microsoft/referencesource/blob/master/System/services/monitoring/system/diagnosticts/Process.cs
SendMessageTimeoutでWM_NULLを投げてるだけだな
601デフォルトの名無しさん
2017/05/09(火) 10:04:41.73ID:4hsRJ4JE その質問コピペだよ
602デフォルトの名無しさん
2017/05/09(火) 10:17:40.46ID:PBqzgUoz ありがとうございました!
603デフォルトの名無しさん
2017/05/09(火) 11:30:51.02ID:fjUlBZmQ >>600
これ使ってDoS攻撃みたいなこと出来るんかな
これ使ってDoS攻撃みたいなこと出来るんかな
604デフォルトの名無しさん
2017/05/09(火) 21:20:50.87ID:2/UhKD8y 最近のアプリに多い、重い処理は別スレッドで実行してGUIが固まらないようにしてる場合は役に立たないかな
605デフォルトの名無しさん
2017/05/09(火) 21:48:08.53ID:LCRfM0F6 >>604
それは「重い処理のときにハングアップしているように見える」というだけの話で、
そういうレベルでの意味ならマルチスレッド化によって役には立たない。
でもそういうマルチスレッド化したソフトウェアでも
画面描画の時の不具合などでハングアップすることもあるわけで役に立たないということはないよ。
それは「重い処理のときにハングアップしているように見える」というだけの話で、
そういうレベルでの意味ならマルチスレッド化によって役には立たない。
でもそういうマルチスレッド化したソフトウェアでも
画面描画の時の不具合などでハングアップすることもあるわけで役に立たないということはないよ。
606デフォルトの名無しさん
2017/05/09(火) 22:06:52.23ID:2/UhKD8y607デフォルトの名無しさん
2017/05/09(火) 23:47:50.15ID:Ephb2XFu ウィンドウがわかるならIsHungAppWindowってのがある
608デフォルトの名無しさん
2017/05/10(水) 02:35:27.31ID:bnhY1qc6 >>606
動画の変換みたいに純粋に時間がかかる場合とか、ユーザーのクリック待ちとかもあるから、判断はできんだろうな
動画の変換みたいに純粋に時間がかかる場合とか、ユーザーのクリック待ちとかもあるから、判断はできんだろうな
609デフォルトの名無しさん
2017/05/10(水) 02:56:46.04ID:SJjrbjyQ 止めようとしても停まらないもの?
WindowsUpdateかな?
WindowsUpdateかな?
610デフォルトの名無しさん
2017/05/10(水) 11:25:51.30ID:Cp7+CNi6 >>609
ネットワーク切れてからのタイムアウトも異常に遅いんだよな
ネットワーク切れてからのタイムアウトも異常に遅いんだよな
611デフォルトの名無しさん
2017/05/14(日) 19:29:07.89ID:QF9yNcvN まだ見放されてないぞ
【IT】マイクロソフト、サポート切れOS「Windows 8、Windows XP、Windows Server 2003」にも修正ソフト提供
asahi.2ch.net
test/read.cgi/newsplus/1494723803
【IT】マイクロソフト、サポート切れOS「Windows 8、Windows XP、Windows Server 2003」にも修正ソフト提供
asahi.2ch.net
test/read.cgi/newsplus/1494723803
612デフォルトの名無しさん
2017/05/19(金) 19:48:39.48ID:7xgwPeWo 質問ささてください
構造体AをGlobalAllocで領域を確保して値を入れた後、構造体BをGlobalAllocで確保すると、構造体Aのメンバであるポインタのアドレスが変わってしまうのですが何が原因なのでしょうか?
構造体AをGlobalAllocで領域を確保して値を入れた後、構造体BをGlobalAllocで確保すると、構造体Aのメンバであるポインタのアドレスが変わってしまうのですが何が原因なのでしょうか?
613デフォルトの名無しさん
2017/05/19(金) 20:35:00.88ID:bDipVMhT あるプロセスのメモリ情報のリージョンサイズや属性を調べるにはどのAPIを使えばいいですか?
614デフォルトの名無しさん
2017/05/19(金) 20:49:42.55ID:McGsnd5l >>612
Windowsは働き者の賢いOSだからなぁ
Windowsは働き者の賢いOSだからなぁ
615デフォルトの名無しさん
2017/05/19(金) 21:09:20.04ID:/MnRfLXT 動かしたくないならLockしてください
616デフォルトの名無しさん
2017/05/19(金) 21:11:02.62ID:vqbyNvRL >>612
GlobalAllocじゃなくて自分で書き換えてるんでしょ
GlobalAllocじゃなくて自分で書き換えてるんでしょ
617デフォルトの名無しさん
2017/05/19(金) 21:22:03.75ID:Q8L1LGu9 >>612
GMEM_FIXEDを指定していないGlobalAllocでロックカウントが0の場合はメモリの再配置が起きる
GlobalLockとGlobalUnlockの間なら
「構造体Aのメンバであるポインタのアドレス」は変わることがないけど
GlobalUnlockを呼び出しロックを解除した場合は再配置される可能性がある
GMEM_FIXEDを指定していないGlobalAllocでロックカウントが0の場合はメモリの再配置が起きる
GlobalLockとGlobalUnlockの間なら
「構造体Aのメンバであるポインタのアドレス」は変わることがないけど
GlobalUnlockを呼び出しロックを解除した場合は再配置される可能性がある
618デフォルトの名無しさん
2017/05/20(土) 18:36:33.10ID:urI3JAo7619デフォルトの名無しさん
2017/05/20(土) 18:43:52.60ID:YAniTqrY 違うんじゃね
620デフォルトの名無しさん
2017/05/20(土) 19:05:41.41ID:rnnQH6fx ソースコードにイージーミスがある可能性の方がクッソ高いと思う
621デフォルトの名無しさん
2017/05/20(土) 19:06:46.68ID:opost44+622デフォルトの名無しさん
2017/05/20(土) 19:08:39.87ID:YAniTqrY 必要最小限の再現ソース晒してからだな
623デフォルトの名無しさん
2017/05/21(日) 02:26:55.08ID:8+aEBKAw 構造体A、もしくはその近くのメモリ確保量が足りていないような気がする
スタック破壊、または、メモリ内容破壊では?
スタック破壊、または、メモリ内容破壊では?
624デフォルトの名無しさん
2017/05/21(日) 10:34:21.57ID:UufpipHO >>613
VirtualQueryEx
VirtualQueryEx
625デフォルトの名無しさん
2017/05/21(日) 10:40:12.71ID:8IHB32RP すみません。自分がC++素人でメモリ周り疎いのでよくあるトラブルかなと思い、動作確認できている部分は抽象的に書きました。イージーミスの可能性はかなりあります。
ソースが手元にないのですが、具体的にはこのような処理をしています。スマホから書いたので文法ミスあるかもしれません。
メイン処理
DWOR count=0;
LPBYTE pStructA = (LPBYTE)GlobalAlloc(GHND,sizeof(0));
GetPrinterInfo(pStructA,&count);//自作関数 pStructAに構造体格納
/*ここでブレーク張ってpStructAのpNameのアドレスが正しい文字列指してるのは確認済み*/
PStructB pStructB = (PStructB)GlobalAlloc(GHND,sizeof(StructB)*count);
/*ここで改めてpNameを取得しようとするとpNameのアドレスがpStructBを確保する前と変わっている。元の文字列データは以前として前のアドレス上に存在してることは確認済み。pStructA自体のアドレスは変わっていない
*/
for(i=0 ;i<count;i++){
LPTSTR name= (((PRINTER_INFO_1*)pStructA)+count)->pName;
}
〜〜〜
自作関数 (動作確認済み)
DWORD GetPrinterInfo(LPBYTE pStructA, LPDWORD count){
DWORD result=0;
DWORD pNeeded=0;
//必要サイズ取得
EnumPrinter(PRINTER_ENUM_LOCAL,NULL,1,NULL,pdw
&pNeeded,count);
//必要サイズ再確保
Global ReAlloc(pStructA,pNeeded,GHND);
//ここでPRINTER_INFO_1構造体をpStructAに格納
EnumPrinter(PRINTER_ENUM_LOCAL,NULL,1,pStructA,pdw
pNeeded,count);
return result;
}
ソースが手元にないのですが、具体的にはこのような処理をしています。スマホから書いたので文法ミスあるかもしれません。
メイン処理
DWOR count=0;
LPBYTE pStructA = (LPBYTE)GlobalAlloc(GHND,sizeof(0));
GetPrinterInfo(pStructA,&count);//自作関数 pStructAに構造体格納
/*ここでブレーク張ってpStructAのpNameのアドレスが正しい文字列指してるのは確認済み*/
PStructB pStructB = (PStructB)GlobalAlloc(GHND,sizeof(StructB)*count);
/*ここで改めてpNameを取得しようとするとpNameのアドレスがpStructBを確保する前と変わっている。元の文字列データは以前として前のアドレス上に存在してることは確認済み。pStructA自体のアドレスは変わっていない
*/
for(i=0 ;i<count;i++){
LPTSTR name= (((PRINTER_INFO_1*)pStructA)+count)->pName;
}
〜〜〜
自作関数 (動作確認済み)
DWORD GetPrinterInfo(LPBYTE pStructA, LPDWORD count){
DWORD result=0;
DWORD pNeeded=0;
//必要サイズ取得
EnumPrinter(PRINTER_ENUM_LOCAL,NULL,1,NULL,pdw
&pNeeded,count);
//必要サイズ再確保
Global ReAlloc(pStructA,pNeeded,GHND);
//ここでPRINTER_INFO_1構造体をpStructAに格納
EnumPrinter(PRINTER_ENUM_LOCAL,NULL,1,pStructA,pdw
pNeeded,count);
return result;
}
626デフォルトの名無しさん
2017/05/21(日) 11:10:23.22ID:Bmvuj1qA GlobalAllocの戻り値のハンドルを直接キャストしてポインタに代入したら駄目だろ
ハンドルを引数としてGlobalLockを呼び出して、その戻り値をキャストしてポインタに代入しろ
ハンドルを引数としてGlobalLockを呼び出して、その戻り値をキャストしてポインタに代入しろ
627デフォルトの名無しさん
2017/05/21(日) 11:25:17.73ID:8zMWeNzv 蓋を開けてみればやはりこんなもんだ
p = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size);
HeapFree(GetProcessHeap(), 0, p);
でうまくやってるよ,GlobalAlloc は win3.1 の仕様を下敷きにしているので使いにくいよ
HeapFree(GetProcessHeap(), 0, p);
でうまくやってるよ,GlobalAlloc は win3.1 の仕様を下敷きにしているので使いにくいよ
629デフォルトの名無しさん
2017/05/21(日) 14:52:03.05ID:2E7Z41P0 オワコンだしな
今はもうmallocでいいよ
今はもうmallocでいいよ
>>629
それはどこにあるのかな?
それはどこにあるのかな?
631デフォルトの名無しさん
2017/05/21(日) 16:25:59.44ID:qIzrXw0L >>625
関数の仕様ぐらい確認しろといいたい
https://msdn.microsoft.com/ja-jp/library/cc430065.aspx
GMEM_FIXEDを指定していないGlobalAllocはメモリハンドルを返す
アドレスではなくハンドルであり、このハンドルをGlobalLockに渡すことでメモリアドレスを取得できる
メイン処理
DWORD count=0;
HGLOBAL gm = GlobalAlloc(GHND,sizeof(0));
GetPrinterInfo(gm,&count);
LPBYTE pStructA = (LPBYTE)GlobalLock(gm);
for(i=0 ;i<count;i++){
LPTSTR name= ((PRINTER_INFO_1*)pStructA)[i].pName;
}
〜〜〜
DWORD GetPrinterInfo(HGLOBAL gm, LPDWORD count){
DWORD dwSize;
DWORD result=0;
DWORD pNeeded=0;
EnumPrinter(PRINTER_ENUM_LOCAL,NULL,1,NULL,0,&pNeeded,count);
Global ReAlloc(gm,pNeeded,GHND);
dwSize = GlobalSize(gm);
LPBYTE pStructA = (LPBYTE)GlobalLock(gm);
EnumPrinter(PRINTER_ENUM_LOCAL,NULL,1,pStructA,dwSize,&pNeeded,count);
GlobalUnlock(gm);
return result;
}
関数の仕様ぐらい確認しろといいたい
https://msdn.microsoft.com/ja-jp/library/cc430065.aspx
GMEM_FIXEDを指定していないGlobalAllocはメモリハンドルを返す
アドレスではなくハンドルであり、このハンドルをGlobalLockに渡すことでメモリアドレスを取得できる
メイン処理
DWORD count=0;
HGLOBAL gm = GlobalAlloc(GHND,sizeof(0));
GetPrinterInfo(gm,&count);
LPBYTE pStructA = (LPBYTE)GlobalLock(gm);
for(i=0 ;i<count;i++){
LPTSTR name= ((PRINTER_INFO_1*)pStructA)[i].pName;
}
〜〜〜
DWORD GetPrinterInfo(HGLOBAL gm, LPDWORD count){
DWORD dwSize;
DWORD result=0;
DWORD pNeeded=0;
EnumPrinter(PRINTER_ENUM_LOCAL,NULL,1,NULL,0,&pNeeded,count);
Global ReAlloc(gm,pNeeded,GHND);
dwSize = GlobalSize(gm);
LPBYTE pStructA = (LPBYTE)GlobalLock(gm);
EnumPrinter(PRINTER_ENUM_LOCAL,NULL,1,pStructA,dwSize,&pNeeded,count);
GlobalUnlock(gm);
return result;
}
632デフォルトの名無しさん
2017/05/21(日) 16:40:14.23ID:s+TjotGN GMEM_MOVEABLE
移動可能メモリを割り当てます。Win32 環境では、物理メモリ内でメモリブロックが移動されることは決してありませんが、既定のヒープ内で移動することは可能です。
戻り値は、メモリオブジェクトのハンドルです。このハンドルをポインタへ変換するには、GlobalLock 関数を使います。
この値を GMEM_FIXED フラグと組み合わせることはできません。
Win32では移動することがないあるよって言ってるし、GPTRフラグを使うか、メモリ確保をmallocなりに置き換えたほうが良いね
EnumPrintersに渡すバッファのポインタは別になんでも良いみたいだし
移動可能メモリを割り当てます。Win32 環境では、物理メモリ内でメモリブロックが移動されることは決してありませんが、既定のヒープ内で移動することは可能です。
戻り値は、メモリオブジェクトのハンドルです。このハンドルをポインタへ変換するには、GlobalLock 関数を使います。
この値を GMEM_FIXED フラグと組み合わせることはできません。
Win32では移動することがないあるよって言ってるし、GPTRフラグを使うか、メモリ確保をmallocなりに置き換えたほうが良いね
EnumPrintersに渡すバッファのポインタは別になんでも良いみたいだし
633デフォルトの名無しさん
2017/05/21(日) 16:51:37.43ID:UufpipHO GlobalAllocはクリップボード弄る時くらいでいいよ
634デフォルトの名無しさん
2017/05/21(日) 18:27:54.67ID:8+aEBKAw こうゆう奴がプロジェクトにいると、デバックでは動くがリリースでは動かない
プログラムとか出来上がるんだろうな。。。
(もちろん、リリース+デバック情報埋込なら動く最悪のパターン)
プログラムとか出来上がるんだろうな。。。
(もちろん、リリース+デバック情報埋込なら動く最悪のパターン)
635デフォルトの名無しさん
2017/05/22(月) 03:45:08.81ID:6WP6IGo9 mallocでも、newでも好きなのつかったらいいんじゃね?
636デフォルトの名無しさん
2017/05/22(月) 07:02:35.87ID:1fjxccfj sizeof(0) ...
637デフォルトの名無しさん
2017/05/22(月) 10:58:01.86ID:ZhEHdQZR みなさま本当にありがとうございました。
メモリ確保の方法に関しては古いのはなんとなくわかってるのですが、意見できる程知識がないのが実情です……
ともあれ解決方法の兆しが見えたので頑張ってみます。
>>634
耳が痛いですが自分も本当にそう思います……個人的には勉強になるのでいいんですが……
リリース気をつけておきます
メモリ確保の方法に関しては古いのはなんとなくわかってるのですが、意見できる程知識がないのが実情です……
ともあれ解決方法の兆しが見えたので頑張ってみます。
>>634
耳が痛いですが自分も本当にそう思います……個人的には勉強になるのでいいんですが……
リリース気をつけておきます
638片山博文MZ ◆T6xkBnTXz7B0
2017/05/26(金) 15:19:18.57ID:hi3mNk6y639片山博文MZ ◆T6xkBnTXz7B0
2017/05/27(土) 10:36:14.50ID:je1Ltzc3640デフォルトの名無しさん
2017/05/27(土) 10:39:23.30ID:I7pwMhhb 皆さんは、ダイアログの HWND に対し SetWindowLongPtr, GetWindowLongPtr を使用する場合
GWLP_USERDATA と DWLP_USER をどのように使い分けていますか?
GWLP_USERDATA と DWLP_USER をどのように使い分けていますか?
641デフォルトの名無しさん
2017/05/27(土) 13:16:53.40ID:olQh0zw8 使い分けもなにも
get してから & とか | とかして set してる
get してから & とか | とかして set してる
642デフォルトの名無しさん
2017/06/14(水) 11:22:26.39ID:+7k/9HY0 エディットボックスにES_MULTILINEを付けると
Ctrl+Aですべて選択ができなくなってしまうのだけど、
これはなにか技術的な理由があってのことですか?
それとも、昔から修正されていないだけのバグですか?
Ctrl+Aですべて選択ができなくなってしまうのだけど、
これはなにか技術的な理由があってのことですか?
それとも、昔から修正されていないだけのバグですか?
643デフォルトの名無しさん
2017/06/14(水) 11:39:15.66ID:+7k/9HY0 642の追記ですが、ES_MULTILINEだけでなく、ES_READONLYを付けたときも、
同じようにCtrl+Aが効かなくなるようです。
同じようにCtrl+Aが効かなくなるようです。
644デフォルトの名無しさん
2017/06/14(水) 12:11:52.68ID:Jdv7hZ4r >>643
それはサブクラス化で対応
それはサブクラス化で対応
645デフォルトの名無しさん
2017/06/14(水) 12:19:57.15ID:+7k/9HY0 >>644
つまり、ES_MULTILINEやES_READONLYはCtrl+Aに対応すべき状態ではない
というような技術的な理由があるわけではなく、
単にマイクロソフトが修正していない昔からのバグで、
サブクラス化などで対応しても問題ないものなんですよね?
つまり、ES_MULTILINEやES_READONLYはCtrl+Aに対応すべき状態ではない
というような技術的な理由があるわけではなく、
単にマイクロソフトが修正していない昔からのバグで、
サブクラス化などで対応しても問題ないものなんですよね?
646デフォルトの名無しさん
2017/06/14(水) 13:35:54.11ID:pxuX+RKK ctrl+aが全選択という統一ルールがないとかなんとか
647デフォルトの名無しさん
2017/06/14(水) 19:35:40.93ID:+7k/9HY0648デフォルトの名無しさん
2017/06/15(木) 10:24:59.35ID:0e975zeL >>647
挙動としては認識通り
技術的な問題ではないのでサブクラスなりインスタンスなりのKeyDownイベントでSelectAll()して構わない
普通はついでにCopy()やCut()のショートカットキー処理もつけておく
挙動としては認識通り
技術的な問題ではないのでサブクラスなりインスタンスなりのKeyDownイベントでSelectAll()して構わない
普通はついでにCopy()やCut()のショートカットキー処理もつけておく
649デフォルトの名無しさん
2017/06/15(木) 11:09:41.39ID:pFacwd6b650デフォルトの名無しさん
2017/06/23(金) 01:36:52.51ID:/7Z8Xk53 CLIP STUDIO PAINTのようにツールっぽくする為にウインドウ全体を茶色に統一するようなWin32APIと言うのがありますでしょうか?
SKINかもしれないのですがSKINの仕方が解りません。
それとMediBang Paint Proのようにウインドウ全体でなくメニューとツールウインドウだけを茶色に統一する方法も
解りましたらお願いします。
SKINかもしれないのですがSKINの仕方が解りません。
それとMediBang Paint Proのようにウインドウ全体でなくメニューとツールウインドウだけを茶色に統一する方法も
解りましたらお願いします。
651デフォルトの名無しさん
2017/06/23(金) 03:31:09.37ID:1Ua/Rfq9 >>650
ないです。
ないです。
652デフォルトの名無しさん
2017/06/23(金) 10:30:01.91ID:0OdP20aK 中学生でもランサム作ってるんだから
がんがれ
がんがれ
653デフォルトの名無しさん
2017/06/24(土) 05:45:55.83ID:AiSsJYjg >>652
ランサムだけなら誰でもできる。ランサムウェアと呼ぶから重要なことが抜けて伝わってしまう。
ランサムだけなら誰でもできる。ランサムウェアと呼ぶから重要なことが抜けて伝わってしまう。
654デフォルトの名無しさん
2017/06/24(土) 12:23:00.00ID:29Lhuze+ ただのバッチだったしな
655デフォルトの名無しさん
2017/06/24(土) 12:44:27.58ID:TJcGM6+6 警察は実績が欲しく、子供は有名になりたかったらしいので
両者の思惑が一致した最高の形なんだろう
両者の思惑が一致した最高の形なんだろう
656デフォルトの名無しさん
2017/06/24(土) 18:30:11.33ID:AiSsJYjg >>654
重要なのはWindowsの穴をついてプログラムを実行できたところだからね。
重要なのはWindowsの穴をついてプログラムを実行できたところだからね。
657デフォルトの名無しさん
2017/06/24(土) 18:34:45.55ID:xexj0oOj 穴ついてたのかよw
どうせこのbat実行してね、だろうと思ってたんだが違ったか
どうせこのbat実行してね、だろうと思ってたんだが違ったか
658デフォルトの名無しさん
2017/06/24(土) 18:47:24.91ID:fDMY1AQ8 エッチなビデオ.avi .bat
とかじゃないの?
とかじゃないの?
659デフォルトの名無しさん
2017/06/24(土) 19:05:41.31ID:xexj0oOj 軽くぐぐってみたがどこの穴ついたかわからなかった
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【外交】元台湾総統・馬英九氏、高市首相発言に「台湾を危険にさらす」台湾海峡の問題は「両岸の中国人が自ら話し合うべき」★2 [1ゲットロボ★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★8 [ぐれ★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 [おっさん友の会★]
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★5 [BFU★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- (´ん`)「公明党、お前だったのか。自民党から国民を守ってくれていたのは...」 [603416639]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- 1,000万円のBMWに擦ってしまった札幌のガキ、捕らえられてガチで詰む [329329848]
- 【悲報】ヤフコメ民「中国が水産物を輸入禁止にするなら、日本国民向けに安く販売すればいい。中国依存から脱するべき」 [153736977]
- SNKの悪役はギース、ルガール、山崎と魅力的なのが多いよね
- 維新代表吉村、壊れたレコードになる「中国はカントリーリスク、中国人観光客がいなくても成り立つビジネスを目指せ」を何度も繰り返す [856698234]
