[解決済み] Pocket PCエミュレータを使用するためのネイティブDLLはどこに置くのですか?
2022-01-30 14:23:22
質問
C# (Windows Mobile 6.1 - Visual Studio 2008 - Pocket PC)でSmartDeviceプロジェクトを開発しており、PInvokeを使用したいと考えています。私はC++で書かれたネイティブDLLを持っています。
しかし、エミュレータを使用する必要があり、この場合ナビゲート DLL (コンピュータ上) をどこに置けばよいのかわかりません。
作業ディレクトリは相対パスで、DllImportは絶対パスで試してみました。
[DllImport(@"C:\John\VMDLLDevice.dll", EntryPoint = "Write")]
public static extern bool Write(char[] FileName);
しかし、ネイティブDLLをpinvokeすると、エミュレータがDLLを見つけることができないため、Exceptionが発生しました。
エミュレータを使用するには、ネイティブDLLをどこに配置すればよいですか?
解決方法は?
同じVisual Studioソリューションに、次の2つのプロジェクトがあるとします。
-
SmartDeviceProject1
でのPocket PCデバイスのアプリケーションです。C#
. -
NativeDLL
の Win32 SmartDevice DLL を使用します。C++
.
これで、次のような手順を踏むことができます。
- Visual Studioのデバイスオプションで、両方のプロジェクトにPocket PC Emulatorを選択します。
-
プロジェクトをデプロイします。
\\Program Files
の2つの新しいディレクトリを見ることができます。SmartDeviceProject1
とNativeDLL
(スタート -> プログラム -> ファイルエクスプローラ -> プログラムファイル)。
あなたのNativeDLL.dllは、以下の場所にあります。
NativeDLL
ディレクトリにあるので、以下のDllImportを使用します。
[DllImport(@"..\NativeDLL\NativeDLL.dll", EntryPoint = "Write")]
public static extern bool Write(char[] FileName);
そして、エミュレータを使ってアプリケーションを実行することができるようになりました。
MSDN追加情報です。 スマートデバイスのプロジェクトでエミュレータを使用する .
関連
-
[解決済み】エラー。「戻り値を変更できません」 C#
-
[解決済み】ここで「要求URIに一致するHTTPリソースが見つかりませんでした」となるのはなぜですか?
-
解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C# [解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C#.
-
[解決済み】Sequence contains no matching element(シーケンスにマッチする要素がない
-
[解決済み】ORA-01008: すべての変数がバインドされていません。これらはバインドされています。
-
[解決済み】値をNULLにすることはできません。パラメータ名:source
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み] 2つのリストを結合する
-
[解決済み】「namespace」なのに「type」のように使われる。
-
[解決済み] 実行時に[DllImport]のパスを指定するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C# [解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C#.
-
[解決済み】Sequence contains no matching element(シーケンスにマッチする要素がない
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み】ORA-01008: すべての変数がバインドされていません。これらはバインドされています。
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み] EntityTypeにキーが定義されていないエラー
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】「namespace」なのに「type」のように使われる。
-
[解決済み】データが存在しないのに読み込もうとする試みが無効である
-
[解決済み】スレッド終了またはアプリケーションの要求により、I/O操作が中断されました。