問題タブ [win32gui]

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 投票する
2 に答える
1072 参照

wxpython - wxPython win32gui.GetDC の wxDC オブジェクト

int/long を返す win32gui.GetDC を使用して、別のプログラムでオブジェクトのウィンドウ ハンドルの DC を取得しています。この DC を Python のメモリ DC にブリットする必要があります。どうすればよいか分からない唯一のことは、win32gui が返す int/long から wxDC 派生オブジェクトを取得することです。wxDC オブジェクトのどれも、私が知る限り、実際の DC ハンドルをそれらに渡すことを許可していません。もちろん、これにより、ブリットを行うことができなくなります。これを行う方法はありますか?

0 投票する
1 に答える
1736 参照

perl - Win32タイトルバーの外観をPerlから完全に変更するにはどうすればよいですか?

Win32::GUIを使用してPerlプログラムにGUIを追加する方法を学んでいます。これで、次のようなものを使用してWin32タイトルバーのアイコンを変更できます。

しかし、他のもの、たとえば、背景色、最小化ボタンのルックアンドフィールはどうですか?

私は主題をグーグルで検索し、いくつかのおそらく関連する記事を見つけました。クライアント以外の領域のペイティングなどについて話しますが、コードスニペットはすべてCで記述されているようで、私はあまり詳しくありません。

ここの誰かが、同様の状況に対処するPerlで書かれたコードスニペットを親切に共有できるかどうか疑問に思いました。または、うまくいけば、タスクを容易にすることができるPerlモジュールはありますか?

ガイダンスをありがとう:)

**** UPDATE1 ****

最初にタイトルバーを非表示にしてから、元のタイトルバーがあった場所にラベルを追加してから、他のボタンを追加してオブジェクトを最小化して閉じることはできますか?

ここで問題となるのは、マウスがラベル上にあるときにWindowオブジェクトを移動するにはどうすればよいですか?

**** UPDATE2 ****

Perlで達成したい仕事をすることになっているVBコードスニペットをいくつか見つけました。誰かがWin32::GUIでそれらを書き直すのを手伝ってくれませんか?次のVBコードはここからです:

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

winapi - Win32 スクロールの例

Win32 でスクロールを実装する方法の明確でわかりやすい例を教えてもらえますか (または提供してもらえますか?)。明らかに、Google は多くのことを提示しますが、ほとんどの例は単純すぎるか複雑すぎるように思われ、正しい方法を示していると確信できません。私は現在のプロジェクトで LispWorks CAPI (クロスプラットフォームの Common Lisp GUI ライブラリ) を使用していますが、Windows ではスクロールに関するわかりにくいバグがあります。基本的に、Win32 API を介して直接いくつかのテストを行い、状況を明らかにできるかどうかを確認したいと考えています。

どうもありがとう、クリストファー

0 投票する
1 に答える
14432 参照

python - 子ウィンドウを見つけるpython win32gui

たとえば、最初にSkypeのhwndを見つける必要があります

すべての子ウィンドウとそのタイトルよりも

何か案が?

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

python - win32gui の Python PyHANDLE オブジェクト

別のアプリケーションをオーバーレイする透明なウィンドウを作成しようとして遊んでいます。私は、win32 拡張機能が少し混乱していることに気づきました。win32ui、win32gui、winxpgui などがあります。やや混乱しています。

とにかく、この関数 win32gui.UpdateLayeredWindow にウィンドウへのハンドルを渡そうとしています

必要な最初の引数は、pyhandle 型としてのハンドルです。

ウィンドウのハンドルを見つけるすべてのメソッドは、pyhandle 型ではなく int を返します。同じモジュールのものでさえ。win32gui.findwindow(None, "windowtitle") は、必要なウィンドウのハンドルを見つけて返しますが、PyHandle としてではなく int 形式でのみ返します。

ここにオブジェクトのドキュメントがあります。 http://docs.activestate.com/activepython/2.5/pywin32/PyHANDLE.html

findwindow メソッドのドキュメントは次のとおりです。docs.activestate.com/activepython/2.5/pywin32/win32gui__FindWindow_meth.html

intを受け入れないメソッドのドキュメントは次のとおりです。docs.activestate.com/activepython/2.5/pywin32/win32gui__UpdateLayeredWindow_meth.html

WX を使用してウィンドウのハンドルを作成および検索しようとしましたが、int のみが返されます。

同じ人によって書かれた、ハンドルを必要とする別の関数があり、ハンドルとして int を受け入れます。win32api.SetWindowLong

質問は、受け取った int から PyHANDLE オブジェクトを作成する方法はありますか? 私はそれを理解することはできません。

0 投票する
1 に答える
378 参照

python - セッション状態を保存する PythonWin

セッション状態を PythonWin エディタ内に保存できるようにしたいと考えています (たとえば、これら 3 つのファイルが開かれ、PythonWin ウィンドウ内の特定の場所に配置されます)。win32gui を使用して、PythonWin 内の各子ウィンドウへのハンドル、および各ファイルのタイトルとウィンドウの位置/サイズを取得できます。ただし、子ウィンドウ名としてリストされているファイルのフル パスを取得する方法は不明です (つまり、子ウィンドウ名が test.py で、test.py が c:\python\test.py にある場合、私は知りませんc:\python を取得する方法を知っています)。開かれたファイルとそのウィンドウの位置を小さなファイルに書き出し、それを PythonWin の開始時に呼び出してロードすることを考えていました。

子ウィンドウ名への完全なパスを取得する方法についてのアイデアはありますか?

または、誰かが PythonWin でセッション状態を保存するためのより洗練されたソリューションを既に持っている場合は、それを渡してください。

以下は、私が現在使用しているコードです ( win32guiを使用するためのスターター コードを提供してくれた Michal Niklas に感謝します)。


0 投票する
1 に答える
637 参照

perl - perl win32::gui 削除要素

アクティブ化イベントで要素(ラベル)を入力するダイアログボックスがあります。ウィンドウが非アクティブ化されているときに、これらの要素 (ラベル) を削除したいと考えています。次のようなもの:[メインコードの誤った断片ですが、説明的です]

しかし、問題は、非アクティブ化の「Here」が何度も呼び出され、その後例外がスローされることです [@INC .... 行 n で auto/wchR_.al が見つかりません]。メイン ウィンドウをフリーズし、唯一のオプションは、タスク マネージャーを使用してプロセスを終了することです。

私を助けてください。「ここ」が何度も印刷されるのはなぜですか?要素を完全に削除するには? ありがとう

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

python-3.x - python3ctypeCreateWindowExの簡単な例

私はしばらくの間グーグルで検索しましたが、ウィンドウを作成して表示するためのpython3ctypesとWin32APIの簡単な例を見つけることができませんでした。ここに良いリンクまたはショーコードを教えてください。

前もって感謝します!

0 投票する
0 に答える
900 参照

perl - Win32::GuiTest を使用してグリッド表示コントロールからデータを取得する (AfxWnd42s)

私は現在、GUI アプリケーションの 1 つをテストするためにいくつかの perl スクリプトを作成しています。私は perl の Win32::GuiTest を基盤として使用していますが、ほとんどの部分で非常に機能的です。ただし、グリッドコントロールからデータを取得しようとして立ち往生しています(これはブラックボックステストであると想定されているため、ウィジェットの実際の名前はわかりません)。WinSpy++ を使用すると、クラスが「AfxWnd42s」であることがわかります。次のコードでウィンドウ ハンドルを取得できます。

グリッド コントロールにデータがあっても、text にも wintext にも値は含まれません。GetWindowLong に対してさまざまなオプションを試しましたが、グリッドの内容について何も返されないようです。また、スキャンしているウィンドウには子がありません。私は立ち往生しています。

残念ながら、アプリケーションをビルドするためのコードや開発環境にアクセスできません。WinSpy++ がウィンドウ コンポーネントについて教えてくれることしか理解できません。

0 投票する
1 に答える
1015 参照

python - 警告ダイアログがそれを制御しているPythonプログラムの実行を停止しないようにするにはどうすればよいですか?

Win32GUIとWatsupを使用して、インターフェイスが付属していないプログラムを介してアクセスされるデータベース全体の検索を自動化するPythonコードを少し書いています。そのため、リストから文字列を取得し、それを検索ボックスに入力して、「ルックアップ」を押すことができます。

ただし、検索で1000を超える結果が返されると、プログラムは警告ダイアログ(結果の数の通知)をスローし、Pythonコードの実行を停止します。ルックアップを押す行を超えてコードを進めることができません。

推測では、これはウィンドウを期待していないか、警告の処理方法を知らないためですが、手動で受け入れる以外は、どちらもしません。以下は、関連するコードのサンプルですが、おそらくあまり啓蒙的ではありません。「clickButton(LookupButton)」の後、実行は停止します。