こんにちは私はpythonとdllの機能について1つの質問をする必要があります。私は少し挫折しています。質問は、私はPythonを使用してWindowsからDLL関数をロードできますか?私はCtypeのことを聞いたが、私はこれのための良いチュートリアルを見つけることができない追加の機能を得るために、ウィンドウからdllファイルを使用する別の方法はありますか?私はpyautoguiを使用してマウスイベントで動作するようにいくつかのDLLを呼び出すが、それは私にとっては有用ではない。私はWindowsアプリケーションに適したPythonですか?私はそれがWindows上で実行する知っているしかし、Windowsのためのより良い機能を提供することができる良いdll関数は、Pythonのオリジナルライブラリです。まあ私の意見だと思います。結局のところ、PythonでDLLを扱う価値はありますか?または、私はC#の方が良いと思っています。なぜなら、私は単純化のためにPythonが好きで、C#にまだ移動したくないからです。Python呼び出しとWindows DLLの使用
答えて
はいできます。ライブラリが本当に必要なものです。公式の文書はhttps://docs.python.org/3/library/ctypes.htmlです。 DLLを読み込むのはかなり簡単ですが、内部で関数を呼び出すことは、引数の型に応じて苦労する可能性があります。古いCスタイルのエラーリターンコードの扱いは、例外処理やPythonの一般的な低オーバーヘッドコードスタイルに比べて面倒です。
時間の99%は、必要なものを実装するか、適切なDLLをラップする適切な既存のモジュールを使用する方が簡単です。たとえば、PythonでPythonエクスパンダモジュールの中央リポジトリを検索します。それは私のアドバイスです。
Python用のWindows APIは何ですか? –
ctypes関数ポインタは、関数プロトタイプ 'restype'、' argtypes'、 'errcheck'を定義することができます。 'errcheck'関数が例外を発生させた場合、ctypes-wrapped APIを消費するコードはエラー戻りコードを心配する必要はありません。 – eryksun
真ですが、リターンコードを例外に変換するには、コードを記述する必要があります。したがって、一方では "DLLスタイルからPythonスタイルへ" ctypesラッパー、もう一方ではラッパーを使用する実際のアプリケーションが必要になります。前述したように、これはほとんどのライブラリにとって厄介なプロセスになる可能性があります。 – Guillaume
- 1. Pythonでvb dllを呼び出す
- 2. DLLへの呼び出しからAPIへの呼び出し
- 3. pythonサブプロセス呼び出しを使用してpythonスクリプトを呼び出す
- 4. AppDomain.GetCurrentThreadIDとWindows API呼び出しのThread.ManagedThreadID?
- 5. Python呼び出しC DLL関数の出力の問題とrestype
- 6. HTML5を使用しているDLLでメソッドを呼び出す
- 7. Python呼び出しDLL:TypeError: 'LibraryLoader'オブジェクトが呼び出せません
- 8. Go内のWindows DLLを呼び出してARP要求を送信すると、
- 9. Windowsサービスから私のDLLを呼び出す方法は?
- 10. JNIの問題:サードパーティのDLLを使用するDLLをJavaで呼び出す
- 11. Windowsサービスでのメソッド呼び出しの呼び出し
- 12. PythonモジュールをdllにコンパイルしてVBAで呼び出す方法
- 13. Windows XPでDLLを使用してネイティブSWIGメソッドを呼び出すことができない
- 14. .NET WindowsサービスからShell32.dllを呼び出す
- 15. Windows 7でwin32 dllを呼び出す方法
- 16. golang呼び出しDLLについて
- 17. 呼び出し非DLL関数は
- 18. Pythonを使用してJavaの出力を呼び出す&
- 19. 別のCOM DLLへの呼び出しでVB.NET呼び出しCOM DLLがエラーになる
- 20. Vertxを使用したREST APIの呼び出し/呼び出し/使用
- 21. Windowsとメインアプリケーションから呼び出されるDLL間の通信方法は?
- 22. WindowsでcURLを使用したphp呼び出しazure
- 23. "native"を使用したJavaでのWindows API呼び出しの使用
- 24. JNIを使用したJavaからのDLLメソッドの呼び出し
- 25. kernel32.dll関数を呼び出す方法C++でLoadLibrary(..)を使用してGetTickCount()を呼び出す方法
- 26. DLLを使った呼び出し規約のエラー
- 27. Pythonのメソッド呼び出し
- 28. "execdll.exe"を使用してC#DLLのメソッドを呼び出しますか?
- 29. mingwとsystem()関数の呼び出しを使用したWindowsプログラミング
- 30. Inno Setup構造体へのポインタを持つWindows DLL関数呼び出し
これはディスカッションサイトではありません。具体的な質問と回答あなたは質問を削除する必要があります。 –
そうでなければ質問のように聞こえません。私はPythonとDLLのインポートについて尋ねています。質問の部分は意見です。それ以外の質問は質問しないと質問ではありません。 –
いいえ、この質問は本当にここの話題です。このことを説明している[ヘルプ]の記事を読み飛ばしたと言ってください。あなたはここに新しい(歓迎!)とこのサイトが何であるかをまだ明確に知らないことを覚えておいてください。 –