掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DLLファイルのパスが固定でないネイティブDLLを使用したい (ID:141601)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ご回答ありがとうございます。 以下のサイトを参考に1と2の途中まで作ってみました。 http://dobon.net/vb/dotnet/links/extractarchive.html 下にソースを載せておきます。 GetProcAddressの使い方がわかりませんでした。 いろいろ検索してみたのですが、良いページを見付けられませんでした。 「APIの頭に付く文字列」を設定するようなのですが、 この場合であれば何を設定すれば良いのでしょうか? ご回答ありがとうございました。 以上、よろしくお願いいたします。 Imports System.Runtime.InteropServices Public Class Form1 'DLLモジュールをマップ <DllImport("kernel32")> _ Private Shared Function LoadLibrary( _ ByVal lpLibFileName As String) As Integer End Function '関数のアドレスを取得 <DllImport("kernel32")> _ Private Shared Function GetProcAddress( _ ByVal hModule As Integer, ByVal lpProcName As String) As Integer End Function Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim dllName As String = "C:\sample.dll" Dim funcName As String Dim funcaddr As Integer 'DLLをロード Dim hmod As Integer = LoadLibrary(dllName) If hmod = 0 Then Throw New ApplicationException( _ dllName + "のロードに失敗しました") End If 'DLLのチェック '関数のアドレスを取得 funcaddr = GetProcAddress(hmod, funcName + "GetVersion") If funcaddr = 0 Then Throw New ApplicationException( _ dllName + "がインストールされていません") End If End Sub End Class
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.