[winapi] タグが付いた質問
Windows API(以前はWin32 APIと呼ばれていました)は、Microsoft Windowsオペレーティングシステムで利用可能なアプリケーションプログラミングインターフェイスのコアセットです。このタグは、Windows APIを使用したネイティブWindowsアプリケーションの開発に関する質問に付けてください。
42 件の質問
0
票
0
回答
151
閲覧数
WinAPIのWS_POPUPでウィンドウを作成しポインターを乗せると���っとbusyになる
WS_POPUPで作成したウィンドウで、マウスポインターをのせてみるとずっとbusyになってしまいます。
WS_OVERLAPPEDWINDOWにしてみるとそれが発生しなくなります。なぜですか?
HWND hwnd = CreateWindowEx(
0, CLASS_NAME, L"No Border Window",
WS_POPUP, // ...
-1
票
1
回答
325
閲覧数
C++でテキストエディタを作りたい
勉強のためにc++でテキストエディタを作ってみようと思い、chatGPTに聞きながらやったのですが、なぜか入力ができません。
ウィンドウは出て、垂直バーも点滅しているのにキーボードを触っても何にも反応がありません。
マウスで右クリックして貼り付けを押したらクリップボードの文字列は入力できたのですが、なぜかキーボードからの入力は垂直バーを矢印キーで右左に動かしたりできる以外何にも反応がありません
#...
1
票
1
回答
687
閲覧数
DirectX12のフルスクリーンの処理について
DirectX12でフルスクリーンを実装しようと思いマイクロソフト社のサンプル D3D12Fullscreen を参考に実装していました。
自身のプロジェクトで、サンプルの「Alt+Enter」でのフルスクリーンを実行する
Win32Application::ToggleFullscreenWindow の処理の pSwapChain->GetContainingOutput(&...
0
票
1
回答
716
閲覧数
透明なウィンドウに画像を表示させたい
件名のとおり、透明なウィンドウに画像を表示させたいです。
以下のコードを実行すると画像すらもすべて表示されません。
また、CreateWindowEXの第一引数からWS_EX_LAYEREDを除くと、ウィンドウの表示位置に重なる部分が、拡大されてそのウィンドウに表示されてしまいます。(取れない)
どうしたらよいのでしょうか。プログラミング経験、知識はかなり浅いです...よろしくお願いします。
...
0
票
1
回答
357
閲覧数
Windowsデフォルトのタスクバーを置き換えるソフトを作るため、起動中のウインドウのアイコン・タイトルを取得するAPI
Windows 11のタスクバーは起動しているアプリが多くなると「…」の中に隠れてしまい多段表示もできず、「タスクバーを改造するソフト(ラベルを非表示にしてかつアイコンを分離する)」もいくつか試してみましたが動作がおかしくなるようなので、いっそのこと「起動中のウインドウ一覧を表示するソフト」を作りたいと考えています(スタートメニューやシステムトレイなどの機能は無し)。
「...
0
票
0
回答
135
閲覧数
IFileOperation::RenameItem でディレクトリを統合するときにファイルが衝突するとエラーになる
Win32Api の IFileOperation::RenameItem() を使用してディレクトリ名をすでに存在するディレクトリと同じ名前に変更し、ディレクトリを統合しようとしています。
実行して最初のダイアログで
この宛先には既に '(既存フォルダ名)' フォルダーが存在します。
同じ名前のファイルがある場合、それらのファイルを上書きするかどうかたずねられます。
2024/01/22 12:...
2
票
1
回答
191
閲覧数
syscall.SyscallNで例外が発生して強制終了する
GoでWin32apiのIDesktopWallpaperを使って壁紙の取得や変更などをしようとしています。
IDesktopWallpaperを扱えるライブラリが見つからないのでgo-oleを使って自作することにしました。
go-oleのole.IDispatchクラスの実装を参考にして、ole.IUnknownクラスを継承したIDesktopWallpaperクラスを作りました。
...
0
票
1
回答
121
閲覧数
Windows 10以降で画面の一部だけブルーライトカットする方法
f.luxというブルーライトカットアプリを使用しているのですが、forumが長期間止まっており、更新も2021年で停止しているため自分で改良版を作れないか考えています。
指定したアプリを起動するとブルーライトカット(正確には色温度設定)をOFFにする機能があるのですが、...
1
票
1
回答
468
閲覧数
「DefWindowProc()」のすべての動作は何ですか?
「DefWindowProc()」の動作についていくつか質問があります。既知のメッセージごとに「DefWindowProc()」のすべての動作を正確に説明する集中管理された MSDN ドキュメントはありますか?
プログラマーは、インターネットコミュニティで検索したり、Windows API をテストしたりせずに、その影響をどのように知ることができますか?
たとえば、「WM_MOUSEMOVE」...
0
票
3
回答
1,788
閲覧数
C#コンソールアプリでSendInputを扱いたい
SendInputが動作せず悩んでいます。
環境はVisualStudio2022、C#コンソールアプリ、.Net7.0です。
主に以下のHPを参考に他、C#でSendInputを扱ったHPを見ながら作成しました。
https://learn.microsoft.com/ja-jp/windows/win32/api/winuser/nf-winuser-sendinput
https://...
0
票
1
回答
148
閲覧数
ブラウザを最小化して元のサイズに戻すとデバイスコンテキストが空白ですがなぜでしょうか?
■ 質問内容
以下のプログラムで、ブラウザのデバイスコンテキストをデスクトップの左上に貼り付けると
最初は表示されますが、ブラウザを一度最小化して元のサイズに戻してからプログラムを実行すると、
Firefoxの場合は空白、Edgeの場合は黒箱が表示されます。
なぜウインドウの内容が表示されないのでしょうか?
また、表示されるようにするにはどうしたら良いでしょうか?
■ ソースコード
...
0
票
0
回答
5,396
閲覧数
Pythonでアクティブウィンドウの取得をしたいのですが、プロセス名として取得したいのですがウィンドウ名として取得されてしまいます。
現在Pythonを使ってアクティブウィンドウを取得し、1日にどのソフトにどれだけの時間をかけたのかを統計したいと考えております。
そこで希望しているデータが帰ってこないので質問させていただきました。
現在使用しているプログラム
win32guiのライブラリを使用しwin32gui.GetWindowText(win32gui.GetForegroundWindow())というコードを使用し、...
2
票
1
回答
433
閲覧数
createProcess createPipeを使いやすくしたラッパークラスのようなものはないでしょうか
win32apiのcreateProcessとcreatePipeを使って子プロセスとやり取りしたいと思っています。
しかしサンプルコードなどをググって調べてみても複雑すぎて理解が追いつきません。
もうギブアップしかけています。
createProcessやcreatePipeをもっと使いやすいようにラッパークラスを用意してくれている方はいらっしゃらないでしょうか。
...
0
票
0
回答
408
閲覧数
File Mappingでのアクセス中に他から削除された場合などについて
Windows APIのCreateFileMapping()/MapViewOfFile()でファイルの読み出しをする場合で、他プロセスからの書き込みや削除がありうる状況(それらを妨げてはならない状況)での処理について質問します。
MapViewOfFile()で取得したポインタでファイルの内容にアクセスしたとき、...
1
票
2
回答
578
閲覧数
ハンドルの値が0x00000000から0x0000FFFFとなる仕様はどこで定められている?
SusieプラグインAPIには、下記の記述があります。(x86の頃なのでポインターをDWORD型に格納しても欠落しない前提)
http://www2f.biglobe.ne.jp/~kana/spi_api/spi_issupported.html
DWORD dw
上位ワードが0 ファイルハンドル
上位ワードが非0 ファイル先頭部(2Kbyte以上)を読み込んだバッファへのポインタ。 ...