問題タブ [winforms-interop]

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

wpf - WPFでのActiveXコントロールの使用

WPFアプリでActiveXコントロールをホストしようとしています。ウェブ上とここで既存の情報を使おうとした後、行き止まりになりました。

UVパワーメーターと通信するために提供されているActiveXコントロールを使用する必要があります。これらは、コントロールを登録して使用するアプリケーションを提供し、いくつかの便利なデモアプリも含まれています。OCXファイルを取り除き、必要に応じてここに配置しました。通話するパワーメーターはありませんが、アプリとデモはActiveXコントロールを正常にロードします。

簡単なWindowsフォームアプリケーションを作成しました。ActiveXコントロールをツールバーに移動し、フォームにドロップすることができました。すべて問題ありません。彼らが提供するデモアプリもこれを行います。

ただし、これをWPF環境で機能させることは別の話です。コントロールをツールボックスに追加してアプリに「ドラッグ」することはできません。

これまでに2つのテクニックを試しました。

  1. ここにあるテクニック。コントロールへの参照を追加することはできますが、名前空間hellと入力します。それが提案するxmlns:ax名前空間は、情報を見つけることができません。オブジェクトビューアの指示に基づいた私の試みは次のとおりです。xmlns:ax="clr-namespace:OphirUsbXLib;assembly=Interop.OphirUsbXLib"
  2. ここにあるテクニック。これは基本的に、ActiveXコントロール(yikes)を含むWindowsフォームに基づいてライブラリを作成する新しいプロジェクトを作成するためのものです。Windowsフォームホストを追加することはできますが、内のActiveXコントロールにアクセスできません。コントロールを公開することはできますが、それでもメソッドなどを呼び出すことはできません。これは正しい解決策のようには見えません。

要するに、私はフォームで美しく機能するActiveXコントロールを持っていますが、WPFで機能するための本当の雌犬です。

どんな洞察も大歓迎です!

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

wpf - WinformsプロジェクトにWPFダイアログを追加する方法

.net3.5フレームワークを対象としたVisualStudio2008を使用しています。WinformsプロジェクトにWPFダイアログを追加する必要があります。PresentationCore、PresentationFramework、WindowsBase.dllへの参照を追加し、WPFダイアログをテストWPFプロジェクトから問題のWinFormsプロジェクトにコピーすることでうまくいくと思っていましたが、その後、デザイナーでWinFormsダイアログスタジオを開こうとするとクラッシュして閉じます。つまり、基本的に問題は、WPFダイアログをWinFormsプロジェクトに追加する方法ですか?ありがとう

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

.net - Winform-> WPF MVVMキーバインディングエラー?

WinForm アプリケーションから呼び出されたときに WPF KeyBindings を機能させるには、いくつかの支援が必要です。問題を実証するための基本的な部分と思われるものを作成しました。それが役立つ場合は、サンプル アプリケーションを提供できます。

WinForm アプリケーションは、WPF を呼び出すボタンを持つフォームを開始します。

WPF ビューを使用すると、そのビュー モデルが作成され、キービングが設定されます。

ViewModel は DelagateCommand を使用して、うまくいけばすべてをリンクします

キーを押しても何も起こらないのでしょうか?!?

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

winforms - AxShockwaveFlash com コンポーネント thorws の停止方法 保護されたメモリの読み取りまたは書き込みを試みました

AxShockwaveFlash com コンポーネントを使用して、Windows アプリケーションでフラッシュ ファイルを表示しています。

、メソッド Stop() を呼び出してそのフラッシュを停止します。

しかし、一部のユーザーは、「保護されたメモリの読み取りまたは書き込みを試みました。これは、多くの場合、他のメモリが破損していることを示しています」という例外をスローします。

これが少数のユーザーで発生している理由を教えてください。

前もって感謝します。

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

wpf - 複数の WindowsFormsHost コントロール内での WPF マウスの動きの追跡

複数の WindowsFormsHost コントロールを持つ WPF アプリケーションがあります。アプリケーションがフルスクリーン モードで最大化されているときに、アプリケーション内のマウスの位置を追跡しようとしています。ユーザーがマウスをトップ画面の近くに置いた場合、追加のメニューを含むウィンドウを表示したいと思います。

使うことができます:

  • Window.PreviewMouseMove
  • InputManager.PreProcessInput、または
  • HwndSource.FromHwnd(WindowInteropHelper(mainWindow).Handle).AddHook(...)

マウスが WindowsFormsHost の上を移動しない限り、移動イベントを受信します (ユーザーがこれを行った場合、イベントは受信されません)。根本的な問題は、WPF が WindowsFormsHost ごとに個別の HWND を使用しているためだと思います。

各 WindowsFormsHost を手動で見つけてそのマウス移動イベントをサブスクライブすることなく、アプリケーション全体でマウスの動きを追跡する良い方法はありますか? 可能であれば、グローバルな Windows マウス リスナーも避けたいと思います。

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

email - .NET から送信せずに Lotus Notes メール ページを開く

WinForm (.NET) アプリケーションから、Lotus Notes で新しい電子メール ページを開きたいと思っています (私も知っていますが、私も嫌いです...)。現在、Interop.Domino.dll を使用するこれが非常に便利であることがわかりました。私はそれを少し調整しましたが、うまくいきます。残念ながら、メールを送信したくありません。私はそれを与えた本文で新しいメールウィンドウを開く必要がありますが、「宛先」はありません...

ここでは Notes の質問に高い回答率がないことはわかっていますが、とにかく試してみます。

ありがとう !

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

c# - プログラムでWebCamダイオードを無効にする方法

私のラップトップ(Dell)では、WebCamの使用が煩わしい間、強い青色のダイオードライトが点灯します。

私はそれを無効にすることを考えていました。このダイオードライトをオフにするライブラリまたは方法を知っていますか?

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

vb.net - メッセージのみのウィンドウがPostMessageを受信して​​いません

サードパーティ製のVb.netアプリケーションがあります。これは、シミュレートされた環境からの外部リソースの使用を制御する必要があり、デスクトップと対話してはなりません。ユーザーが通常、特定のキーが周囲にある特別な画面から入力する入力をシミュレートするために、テストコントロールライブラリを構築して、それを制御し、フォームイメージを.bmpに送信します。フォームを表示してタスクバーに表示することはできません。bmp出力はシミュレートされた環境によって表示されます。

PostMessageとsendKeysの使用は、メインフォームでShowInTaskbar = Falseを使用しない限り、うまく機能します。多くの読み取りとテストを行った後、私は、機能する唯一のものと思われるものを試すのに十分なことを学びました。HWND_MESSAGEパラメーターを使用して親として設定したフォームを作成しました。これにより、postMessageを受信することになっているメッセージ専用Windowsが作成され、そのイベントがサブクラス化されます。msdn

StackOverflowはすでにこれについて

残念ながら、私はそれを機能させることができないようで、誰かが私が間違っていることを教えてくれることを望んでいました。私は.netについてウェブ全体で見つけたいくつかの異なる方法をテストしていて、メッセージに入ることができませんでしたスレッドのピークとフィード(多分(多分)私の最後の希望)、タスクバーからフォームを取り出すまで、それらはすべて機能しているようです。

わかりました、ここにコードがあります:

MsgOnly.vb

DllImport( "user32.dll"、SetLastError:= True、CharSet:= CharSet.Auto)> _ Public Shared Function SetParent(ByVal hWndChild As IntPtr、ByVal hWndNewParent As IntPtr)As IntPtr End Function

プライベート共有HWND_MESSAGEAsIntPtr = New IntPtr(-3)

フォーム内のパーツのサブクラス化(サブクラス化を処理するもの、プライバシーの問題以上のものを表示することはできません。うまくいけば、これで十分です)

テストフォーム

今のところ、他にどのような詳細を提供できるのかよくわかりません。私が見つけていないアイデアや方法として誰か?

ご入力いただきありがとうございます

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

wpf - WindowsFormHostを使用してWPFに焦点を合わせる方法

私はこの簡単なセットアップを持っています:

3つのテキストボックス、2つのWPFと1つのWinForm。目的の2つのWPF-Textbox間でフォーカスを移動できませんが、WinForm-Textboxにフォーカスを移動できます。PreviewLostKeyboardFocusWPF-TextboxからWinForm-Textboxに移動しても、イベントはトリガーされません。なぜ、どのようにこれを解決できるかについての手がかりはありますか?

編集

WindowsFormsHost.PreviewGotKeyboardFocusフォーカスがWindowsFormsHostを再び離れるときに、これが最初にトリガーされることに気づきました。それは変です。多分それはバグですか?

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

.net - AppDomainはどのように作成されますか?

.Netでは、次のように記述してAppDomainを作成できます。

私の質問は、それが内部でどのように作成されるかということです。このコードを使用するアプリケーションでは、アプリケーションは、作成する新しいappDomainとは異なるappDomainで実行されるため、あるAppDomainが別のAppDomainを作成する方法と、clrがどのappDomainで作成されるかを決定する方法を決定します。