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:6ExXwgQU2019/02/27(水) 15:09:47.11ID:6ExXwgQU
■番外編
WindowsDDK各種についてのスレ
http://mevius.2ch.net/test/read.cgi/tech/1049116134/
D言語 Part34
http://mevius.2ch.net/test/read.cgi/tech/1422155249/
Cygwin + MinGW + GCC 相談室 Part 8
http://mevius.2ch.net/test/read.cgi/tech/1411399211/
Borland Developer Studio 2006 No.13
http://mevius.2ch.net/test/read.cgi/tech/1175861395/
Borland C++ Compiler オ ワ タ
http://mevius.2ch.net/test/read.cgi/tech/1206951221/
WindowsDDK各種についてのスレ
http://mevius.2ch.net/test/read.cgi/tech/1049116134/
D言語 Part34
http://mevius.2ch.net/test/read.cgi/tech/1422155249/
Cygwin + MinGW + GCC 相談室 Part 8
http://mevius.2ch.net/test/read.cgi/tech/1411399211/
Borland Developer Studio 2006 No.13
http://mevius.2ch.net/test/read.cgi/tech/1175861395/
Borland C++ Compiler オ ワ タ
http://mevius.2ch.net/test/read.cgi/tech/1206951221/
2019/02/27(水) 15:10:04.70ID:6ExXwgQU
■ネイティブなやつとか
【GUI】wxWidgets(旧wxWindows) その5【サイザー】
http://mevius.2ch.net/test/read.cgi/tech/1270793556/
【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 18
http://mevius.2ch.net/test/read.cgi/tech/1488948543/
●●●●TCL/TKなら俺に聞け 4●●●●
http://mevius.2ch.net/test/read.cgi/tech/1375678740/
Gtkプログラミング on Windows!!!
http://mevius.2ch.net/test/read.cgi/tech/1147024203/
【GUI】wxWidgets(旧wxWindows) その5【サイザー】
http://mevius.2ch.net/test/read.cgi/tech/1270793556/
【Win/Mac/Linux/Android/iOS】 Qt 総合スレ 18
http://mevius.2ch.net/test/read.cgi/tech/1488948543/
●●●●TCL/TKなら俺に聞け 4●●●●
http://mevius.2ch.net/test/read.cgi/tech/1375678740/
Gtkプログラミング on Windows!!!
http://mevius.2ch.net/test/read.cgi/tech/1147024203/
2019/02/27(水) 15:10:22.04ID:6ExXwgQU
■需要あるかしらん
OpenGL 2.0 専用スレ
http://mevius.2ch.net/test/read.cgi/tech/1126268759/
Google NaCl プログラミング 2mol
http://mevius.2ch.net/test/read.cgi/tech/1298614677/
【boot】nasm【loader】
http://mevius.2ch.net/test/read.cgi/tech/1377053129/
OpenGL 2.0 専用スレ
http://mevius.2ch.net/test/read.cgi/tech/1126268759/
Google NaCl プログラミング 2mol
http://mevius.2ch.net/test/read.cgi/tech/1298614677/
【boot】nasm【loader】
http://mevius.2ch.net/test/read.cgi/tech/1377053129/
2019/02/27(水) 15:13:16.11ID:6ExXwgQU
一応テンプレ更新できるものは更新と思ったけど、>>1以外変わってなかった。
>>4からは以下スレ消えてたので削除
OpenGL/Vulkanスレ Part22©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1440666771/
SDL=Simple DirectMedia Layerでゲームだ
http://mevius.2ch.net/test/read.cgi/tech/1103655588/
MASM32 - 選ばれし本物のプログラマ
http://mevius.2ch.net/test/read.cgi/tech/1348574727/
>>4からは以下スレ消えてたので削除
OpenGL/Vulkanスレ Part22©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1440666771/
SDL=Simple DirectMedia Layerでゲームだ
http://mevius.2ch.net/test/read.cgi/tech/1103655588/
MASM32 - 選ばれし本物のプログラマ
http://mevius.2ch.net/test/read.cgi/tech/1348574727/
2019/02/27(水) 15:17:35.82ID:6ExXwgQU
このテンプレって誰かが作ったのかスレでまとめられたのかどっちだろ。
>>2-4がスレ番変わってないくらい進行遅いか過疎ってるんで、要らない気もする。(更新チェック面倒)
>>2-4がスレ番変わってないくらい進行遅いか過疎ってるんで、要らない気もする。(更新チェック面倒)
7デフォルトの名無しさん
2019/03/01(金) 13:34:02.78ID:ozM8zBQ9 生きてるのだけでいい
2019/03/02(土) 20:42:50.40ID:s3HqWRGm
特に関連性ないスレばかりだな
これくらい興味もてよっていうチョイスなの?w
これくらい興味もてよっていうチョイスなの?w
9デフォルトの名無しさん
2019/03/04(月) 05:12:26.49ID:DAN4+o0x >1
いちもつ
いちもつ
2019/03/04(月) 14:34:43.80ID:/O719wMt
ExitProcess(4, 0)
11デフォルトの名無しさん
2019/03/06(水) 10:25:19.72ID:mg6kC0Yg ねた
【セキュリティ】Intel製CPUに見つかった新たな脆弱性「SPOILER」はまたもシリコンレベルでの再設計による修正が必要
https://asahi.5ch.net/test/read.cgi/newsplus/1551833609/
【セキュリティ】Intel製CPUに見つかった新たな脆弱性「SPOILER」はまたもシリコンレベルでの再設計による修正が必要
https://asahi.5ch.net/test/read.cgi/newsplus/1551833609/
2019/03/06(水) 13:09:46.88ID:B3vCdTN4
あまりにスレチでネタにならん
13デフォルトの名無しさん
2019/03/21(木) 19:16:13.21ID:nFWHFdE/ マウスエミュレートなどを使わずにドラッグ&ドロップを実現するにはどうしたらよいでしょうか。
具体的には、ユーザーはマウス操作を邪魔されることなく、バックグラウンド・アプリでドラッグ&ドロップしたいです。
具体的には、ユーザーはマウス操作を邪魔されることなく、バックグラウンド・アプリでドラッグ&ドロップしたいです。
14さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/03/21(木) 21:47:53.92ID:/g5fyt6Z >>13
DROPFILES構造体とHGLOBALとPostMessage(WM_DROPFILES)を使えばできるはず。
DROPFILES構造体とHGLOBALとPostMessage(WM_DROPFILES)を使えばできるはず。
1513
2019/03/21(木) 22:22:51.42ID:nFWHFdE/ >>14
確かにその方法で、メモ帳やサクラエディタにはでドロップできるのですが、Visual Studio 2017やMozilla Firefoxにはドロップできないようです。
トップウィンドウのウィンドウハンドルを指定しているのですが、WM_DROPFILEを送るウィンドウハンドルの問題なのか、それとも違う要因なのか。
確かにその方法で、メモ帳やサクラエディタにはでドロップできるのですが、Visual Studio 2017やMozilla Firefoxにはドロップできないようです。
トップウィンドウのウィンドウハンドルを指定しているのですが、WM_DROPFILEを送るウィンドウハンドルの問題なのか、それとも違う要因なのか。
16さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/03/21(木) 22:28:46.83ID:FlExFmKW >>15
WS_EX_ACCEPTFILES拡張スタイルをチェックしながら、WindowFromPoint、GetParent、EnumChildWindowsなどでたどっていく。
ウィンドウの構造は、Spy++で分かるはず。
WS_EX_ACCEPTFILES拡張スタイルをチェックしながら、WindowFromPoint、GetParent、EnumChildWindowsなどでたどっていく。
ウィンドウの構造は、Spy++で分かるはず。
1713
2019/03/21(木) 22:35:43.09ID:nFWHFdE/ >>16
何をたどるのですか?
もう少し汎用的な例に変えます。
エクスプローラーで開かれたフォルダにファイルをドロップするにはどうすればいいでしょうか。
Windows10で試しているのですが、どなたかドロップ出来た方いらっしゃいますか?
何をたどるのですか?
もう少し汎用的な例に変えます。
エクスプローラーで開かれたフォルダにファイルをドロップするにはどうすればいいでしょうか。
Windows10で試しているのですが、どなたかドロップ出来た方いらっしゃいますか?
18さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/03/21(木) 22:46:53.71ID:FlExFmKW たどるは、ウィンドウハンドル。ハンドルなくば話にならぬ。
FindWindow, FindWindowEx、EnumWindowsでまずはターゲットのウィンドウハンドルを取得する。
FindWindow, FindWindowEx、EnumWindowsでまずはターゲットのウィンドウハンドルを取得する。
1913
2019/03/21(木) 22:56:31.56ID:nFWHFdE/2019/03/21(木) 23:24:27.79ID:bEjwjHsM
エクスプローラがやってんだからできるだろw
2113
2019/03/21(木) 23:28:19.79ID:nFWHFdE/ ちなみに徒労について書いておくと、
Visual Studio 2017とexplorer.exe をSpy++で調べたところ、WS_EX_ACCEPTFILESを持つウィンドウはひとつもなし。
Visual Studio 2017とexplorer.exe をSpy++で調べたところ、WS_EX_ACCEPTFILESを持つウィンドウはひとつもなし。
22さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/03/21(木) 23:35:16.35ID:FlExFmKW ならば、OLE D&Dしかない。
2313
2019/03/21(木) 23:38:34.07ID:nFWHFdE/ >>22
マウスエミュレートなしでどうかひとつ m(_ _)m
マウスエミュレートなしでどうかひとつ m(_ _)m
24さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/03/22(金) 00:46:13.42ID:56fjhQno2019/03/22(金) 01:29:49.59ID:lgvalJzA
そういうのはソフトによってできるできないどうしてもあるよ
ひとことでD&Dいっても実装方法色々あるからね
汎用的なの考えずにターゲット絞れ
ひとことでD&Dいっても実装方法色々あるからね
汎用的なの考えずにターゲット絞れ
2019/03/27(水) 06:36:48.46ID:sZeYmZ5f
CreateProcessをUTF-8で実行したいんですが何か良い方法ありませんでしょうか
27デフォルトの名無しさん
2019/03/27(水) 07:52:17.79ID:DfX99uD1 >>26
呼び出し側がコードページを変えるなどしようとも、実行される側のプログラムは引数を規定コードページで受け取るので無意味。
呼び出し側がコードページを変えるなどしようとも、実行される側のプログラムは引数を規定コードページで受け取るので無意味。
2019/03/27(水) 09:56:07.78ID:wWh9RtuG
utf8ってかunicode使いたいってだけでしょ
CreateProcessWで
CreateProcessWで
2019/03/27(水) 10:44:28.85ID:NEUzlmC+
>>26
文字コード変換を挟んだラッパー関数を作るんではダメかな
文字コード変換を挟んだラッパー関数を作るんではダメかな
30デフォルトの名無しさん
2019/03/27(水) 14:13:27.93ID:eZgXpjKy >>28
あほやん
あほやん
2019/03/27(水) 17:21:20.72ID:sZeYmZ5f
2019/03/27(水) 17:40:22.72ID:AY4w9geG
932から変換したらその分おちるから意味ないでしょ
SetConsoleOutputCPの話か?
SetConsoleOutputCPの話か?
2019/03/27(水) 19:36:43.58ID:TFRkKwyv
>>26
何をUTF-8にしたいの?
CreateProcessに関連する文字列は
(1) 実行ファイルのPath
(2) コマンドラインパラメータ
(3) 環境変数
(4) カレントディレクトリ
(1)(3)(4)はCreateProcessA/CreatePeocessWでMBCSかUNICODEで渡す
必要があり、UTF-8では渡せない。(UTF8をUNICODEに変換して渡す)
(2)は受け取る側(実行されるアプリ側)しだいだねえ。
何をUTF-8にしたいの?
CreateProcessに関連する文字列は
(1) 実行ファイルのPath
(2) コマンドラインパラメータ
(3) 環境変数
(4) カレントディレクトリ
(1)(3)(4)はCreateProcessA/CreatePeocessWでMBCSかUNICODEで渡す
必要があり、UTF-8では渡せない。(UTF8をUNICODEに変換して渡す)
(2)は受け取る側(実行されるアプリ側)しだいだねえ。
34さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/03/28(木) 00:45:59.07ID:JS1PpMcc shell lightweight library, 略してshlwapiには便利な関数がたくさん詰まってるよ。のぞいてみてね。
35デフォルトの名無しさん
2019/03/28(木) 01:15:19.97ID:IvEebbBd utf-8はmbcsやろ
36さまよえる蟻人間 ◆T6xkBnTXz7B0
2019/03/28(木) 01:17:29.64ID:JS1PpMcc CP_UTF8とMultiByteToWideChar関数を使う。
2019/03/28(木) 01:21:36.74ID:I1dquAY4
>>33
CreateProcessにPythonとスクリプトを渡して実行、その出力をUTF-8で得たいんですが
例えば
python hoge.py
というコマンドラインを実行させるということなんですが
hoge.pyの出力はUTF-8になっているんですがCreateProcessを通すと出力がcp932になってしまうんです
CreateProcessにPythonとスクリプトを渡して実行、その出力をUTF-8で得たいんですが
例えば
python hoge.py
というコマンドラインを実行させるということなんですが
hoge.pyの出力はUTF-8になっているんですがCreateProcessを通すと出力がcp932になってしまうんです
38デフォルトの名無しさん
2019/03/28(木) 01:59:36.05ID:IvEebbBd setdefaultencoding
http://www.wakayama-u.ac.jp/~kazama/lab/python/i18n.html
http://www.wakayama-u.ac.jp/~kazama/lab/python/i18n.html
3927
2019/03/28(木) 02:00:16.16ID:AOcR4eqo つ ReadConsoleW()
4037
2019/03/28(木) 03:39:05.22ID:I1dquAY4 すみません、Pythonのスクリプトに
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
を追加したら期待する出力を得られました
Win32API 関連の問題ではなかったみたいです
sys.stdout.encoding が cp932 になっていたのが原因だったみたいです
Windows環境のPythonだと標準で cp932 になるんですね
>>38-39
無事解決できました
ありがとうございました
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
を追加したら期待する出力を得られました
Win32API 関連の問題ではなかったみたいです
sys.stdout.encoding が cp932 になっていたのが原因だったみたいです
Windows環境のPythonだと標準で cp932 になるんですね
>>38-39
無事解決できました
ありがとうございました
2019/03/28(木) 04:11:23.81ID:Wtvk2F5L
漏れは、Ruby から、Powershell のGet-Clipboard, Set-Clipboard や、
clip コマンドを呼び出して、処理する
Ruby内では、UTF-8 で処理するから、
CP932から、UTF-8へ変換して処理して、
UTF-8から、CP932へ戻す
入力 : Windows(CP932) → 処理 : Ruby(UTF-8) → 出力 : Windows(CP932)
# クリップボード内の複数行文字列の、各行の先頭・末尾から、
# 連続する空白類を除去して、クリップボードに入れる
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ary = str.each_line.map( &:strip ) # 連続する空白類を除去する
IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
clip コマンドを呼び出して、処理する
Ruby内では、UTF-8 で処理するから、
CP932から、UTF-8へ変換して処理して、
UTF-8から、CP932へ戻す
入力 : Windows(CP932) → 処理 : Ruby(UTF-8) → 出力 : Windows(CP932)
# クリップボード内の複数行文字列の、各行の先頭・末尾から、
# 連続する空白類を除去して、クリップボードに入れる
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ary = str.each_line.map( &:strip ) # 連続する空白類を除去する
IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
2019/03/28(木) 08:03:26.64ID:LrMYA2Ef
2019/03/28(木) 20:17:49.46ID:Qzjf5uAe
>>41
処理中にクリップボードが使われたらどうなるの
処理中にクリップボードが使われたらどうなるの
2019/03/28(木) 20:41:44.79ID:1BkYlymu
未だ、Win32apiって使われてるんだな。
自分はこの前古いwince向けソフトの機能追加のために
久しぶりに使った。
ce向けは仕様が若干簡素化されてたりしても少しはまった。後、開発環境(evc++)の軽さにも驚いた
自分はこの前古いwince向けソフトの機能追加のために
久しぶりに使った。
ce向けは仕様が若干簡素化されてたりしても少しはまった。後、開発環境(evc++)の軽さにも驚いた
2019/03/28(木) 21:05:30.35ID:+dQtlJGX
未だいうて、APIそのものは必須やろ
2019/03/28(木) 21:25:20.80ID:1BkYlymu
表現が不適切だった。
現在のアプリ開発は.netが主体なので、c言語でwinアプリを書く機会って減ってるのかなと思って。
※.netだと便利なライブラリが準備されてるので、そもそも
win32api を使う機会も減るのかと
現在のアプリ開発は.netが主体なので、c言語でwinアプリを書く機会って減ってるのかなと思って。
※.netだと便利なライブラリが準備されてるので、そもそも
win32api を使う機会も減るのかと
2019/03/28(木) 22:17:42.48ID:iCjWPJaI
2019/03/29(金) 01:50:33.70ID:P29wxCsC
.netの比率増えてきたけど、まだまだ.すくないなー
49デフォルトの名無しさん
2019/03/29(金) 05:10:05.40ID:NCHlEZ3/ .NETは糞
2019/03/29(金) 05:16:49.27ID:zXK6y1Ir
.NET じたいがWin32APIなどライブラリのラッパーですよね?
51デフォルトの名無しさん
2019/03/29(金) 06:02:19.13ID:Eeymx9+7 Win32APIのラッパーはMFCと言うイメージ。
.netは.netと言うVMのAPIかな。
元がDelphiのVCLだからラッパーと言うのもおこがましい、高度に抽象化されたライブラリだし。
.netは.netと言うVMのAPIかな。
元がDelphiのVCLだからラッパーと言うのもおこがましい、高度に抽象化されたライブラリだし。
2019/03/29(金) 06:38:45.99ID:ynnAtX2U
.NETは型システムを含めたランタイムそのものを内包しているので単なるライブラリではないだろ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】中国、水産物輸入停止と通達 「処理水」理由、日本政府へ ★5 [おっさん友の会★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 [ぐれ★]
- 【速報】 米大使「はっきりさせておこう、米国は尖閣諸島含め日本の防衛に全面コミット、中国がどうしようが変わらない」 [お断り★]
- 中国側が首相答弁の撤回要求、日本側拒否★7 [夜のけいちゃん★]
- 自民、経済対策で子ども1人に2万円給付へ 児童手当に上乗せ 所要額は約4000億円 [ぐれ★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★7 [ぐれ★]
- 山上妹「統一信者から安倍自民への投票を求められた」法廷で証言 [947332727]
- 【速報】高市首相「つい言い過ぎた」 存立危機事態の答弁について [237216734]
- 【速報】中国、水産物輸入停止★2 [989870298]
- 【悲報】高市早苗見てると80年前のジャップ女も戦争煽ったってよく分かるよね🥺 [616817505]
- 【ネトウヨ朗報】イギリスのトラス元首相、高市有事で高市早苗の支持を表明 [603416639]
- 【高市訃報】ホタテ業者、死亡😇😇😇 [573041775]
