問題タブ [winapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
13 に答える
137099 参照

c++ - C++ で INI ファイルを解析する最も簡単な方法は何ですか?

C++ を使用して INI ファイルを解析しようとしています。これを達成するための最良の方法は何ですか?INI ファイル処理 (私はまったく慣れていません) に Windows API ツールを使用するか、オープンソース ソリューションを使用するか、手動で解析する必要がありますか?

0 投票する
4 に答える
7866 参照

c - FindFirstChangeNotification は、Windows でファイル システムの変更通知に使用するのに最適な API ですか?

Windows プログラミングは初めてで、ファイル システムへのすべての変更の通知を受けようとしています (SysInternals の FileMon が表示する情報に似ていますが、API を介して)。各 (非ネットワーク、非サブステッド) ドライブの FindFirstChangeNotification は私の最善の策ですか、それとも他のより適切な C/C++ API がありますか?

0 投票する
4 に答える
766 参照

c++ - CryptEncryptの適切な代替手段

私たちの製品には、Windows API関数CryptEncryptを介して暗号化されたSQL文字列(MSSQLサーバーまたはsybaseSQLのいずれかを選択)として、アプリケーションのデータベースに長い間データが保存されている状況があります (直接および復号化可能)

問題は、CryptEncryptが出力にNULLを生成する可能性があることです。つまり、データベースに格納されると、文字列操作によって、ある時点でCipherTextが切り捨てられます。

理想的には、NULLを含まないCipherTextを生成するアルゴリズムを使用します。これにより、既存のデータベースへの変更が最小限に抑えられます(列を文字列からバイナリに変更し、コードを文字列ではなくバイナリに処理する)データベースのアップグレード時に、既存のデータを復号化し、新しいアルゴリズムで再暗号化するだけです。

データベースはすでに適度に安全な環境(オープンネットワーク/インターウェブではない)にあるため、アルゴリズムは最も安全である必要はありませんが、ROT13(頭の中でほとんど解読できる)よりも優れている必要があります今!)

編集:ところで、暗号文を暗号文に変更する特別な理由はありますか?暗号文はもっと広く使われているようです...

0 投票する
4 に答える
5576 参照

c# - C#を使用してタスクバーのボタンにマウスクリックを送信する

私が現在取り組んでいるアプリケーションでは、外部アプリケーションのウィンドウを前面に表示する必要があります。BringWindowToTopやSetForegroundウィンドウなどのWin32API呼び出しを行うことは、常に機能するとは限りません。これは、WindowsXP内のいくつかの制限によるものです。代わりに私がやりたいのは、タスクバーのウィンドウのボタンをマウスでクリックしてシミュレートすることです。これにより、ウィンドウが前面に表示されることを期待しています。誰かがこれがどのように可能か知っていますか?

0 投票する
3 に答える
7894 参照

c# - C# で外部アプリから UI テキストを取得する

C# で外部アプリケーションから UI テキストを取得することは可能ですか?

特に、サード パーティによって作成された外部の Win32 アプリから、ラベル (通常の Windows ラベル コントロールだと思います) から Unicode テキストを読み取る方法はありますか? テキストは表示されますが、UI でマウスで選択することはできません。

これを可能にするいくつかのアクセシビリティ API (スクリーン リーダー用など) があると思います。

編集: 現在、Managed Spy Appのようなものを使用することを検討していますが、他のリードを歓迎します.

0 投票する
5 に答える
3448 参照

c# - FlashWindowEx FLASHW_STOP は引き続きタスクバーの色を保持します

マシンを制御するアプリケーションを開発しています。
マシンからエラーを受け取った場合、ユーザーは直接それに気付くことができるはずです.1つの方法は、タスクバーのトレイをフラッシュすることです. マシンがエラーをクリアすると、トレイの点滅が停止します。

FlashWindowEx 関数を使用すると、少し厄介な点が 1 つあります。ウィンドウの点滅をクリアすると、(私の場合は winXP) オレンジ色のままです (点滅しません)。
ステータスのサンプル

私の場合、FLASHW_TRAY を使用して点滅を開始し、FLASHW_STOP を使用して点滅を停止します。

私は何か間違ったことをしていますか、それともこれは WinXP の既知のバグで、修正はありますか?

0 投票する
2 に答える
19409 参照

windows - オブジェクト ポインタを格納するための GWL_USERDATA の代替手段は何ですか?

私が取り組んでいる Windows アプリケーションには、Win32 のすぐ上にあるカスタム フレームワークがあります (聞かないでください)。ウィンドウを作成するとき、通常は をthis介し​​てウィンドウのユーザー データ領域に配置しますSetWindowLong(hwnd, GWL_USERDATA, this)。これにより、MFC のようなコールバックまたは緊密に統合された を使用できますWndProc。問題は、LONG は 32 ビット幅しかないため、これが 64 ビット Windows では機能しないことです。32 ビット システムと 64 ビット システムの両方で機能する、この問題に対するより良い解決策は何ですか?

0 投票する
4 に答える
12213 参照

c++ - USBデバイスハンドルに排他ロックがあるプロセスを確認します

CreateFile()APIを使用してUSBデバイスに対して読み取り/書き込みを行うライブラリがあります。デバイスは、MicrosoftのHIDクラスドライバーと互換性があるように、HIDデバイスプロファイルを実装します。

システムにインストールされている他のアプリケーションが、共有モードのない読み取り/書き込みモードでデバイスを開いています。これにより、私のライブラリ(およびそれを消費するもの)がデバイスで機能しなくなります。これは、HID互換デバイスであることに問題があると思います。他のドライバーソフトウェア(マウス、コントローラー、PHIDGETSなど)は非協調的である可能性があります。

とにかく、デバイスファイルのパスは次の形式です。

そして、私は次のようなコードを使用してそれを開こうとしています:

SysInternalsのFileMonやProcessMonitorのようなツールを検討しました。しかし、上記のようなデバイスファイルハンドルの使用状況を報告することはできないようです。

0 投票する
2 に答える
667 参照

c# - Windows のドラッグドロップでのドロップの通知

私のC#プログラムには、そこからドラッグして別のプログラムにドロップできるファイルのリストがあります。私の要件は、最初にファイルを別のディレクトリにコピーすることです。

では、操作が成功した場合にのみファイルをコピーできるように、ドロップ操作の通知を受け取ることはできますか? 実際にコピーを実行する前に、コピーする必要があることがわかるまで待ちたいと思います。

また、ドロップ操作がどのプログラムで発生しているかを知ることはできますか? 理想的には、誰または何をドロップするかに基づいてファイルパスを変更したいと思います。

C/C++これに対する解決策は、任意の .NET 言語またはCOM.

0 投票する
6 に答える
205239 参照

c++ - C++ (Unicode) で std::string を LPCWSTR に変換する方法

std::string を LPCWSTR に変換する方法またはコード スニペットを探しています。