投稿日 | : 2004/06/11(Fri) 15:47 |
投稿者 | : S.S |
Eメール | : |
URL | : |
タイトル | : Re^3: VBアプリを特定のマシンでしか動かなくするには? |
> 1.レジストリへの書き込み・参照はどのように行うのでしょうか?
APIを使わずに行うのであれば下記です。
書き込み・参照・削除に必要な関数はそれぞれ一度MSDN等で確認してください。
そのうち自分のスキルになりますので(^^
ちなみにAPIを使用すればどこにKEYを作成するかまで設定できます。
'レジストリに登録する(VB and VBA Progrm settingsの下に「License」を登録)
Dim nAPPNm As String
Dim MainNm As String
Dim SubNm As String
Dim KeyNm As String
nAPPNm = "License"
MainNm = "Main"
SubNm = "SubKey_License"
KeyNm = "True"
SaveSetting nAPPNm, MainNm, SubNm, KeyNm
'レジストリに登録されている文字列を取得(License - Main - SubKey 下の値を取得)
Dim nAPPNm As String
Dim MainNm As String
Dim SubNm As String
Dim RetVal As String
nAPPNm = "License"
MainNm = "Main"
SubNm = "SubKey_License"
RetVal = GetSetting(nAPPNm, MainNm, SubNm)
'レジストリのキーを削除(今回の場合License)
Dim nAPPNm As String
nAPPNm = "License"
DeleteSetting nAPPNm
> 2.今回のマシンはネットワークに一切繋がずに使用します。
> したがって、IPアドレスやホスト名はちゃんと割り振っていないと思うのですが、
> MACアドレスは、マシン固有の値として取得できるのでしょうか?
> (取得の仕方はAPIがある?)
下記はよく用いてます。
strGetSQL = "SELECT * FROM Win32_NetworkAdapter WHERE MACAddress IS NOT NULL"
For Each objWinmgmts In GetObject("winmgmts:").ExecQuery(strGetSQL)
MsgBox "MACアドレス:" & objWinmgmts.MACAddress & vbCrLf & _
"ポート名 :" & objWinmgmts.Name
Next
> 3.ごめんなさい。Command$の利用って具体的に全然良く分からないです・・・(~_~;)
これは「Command」でMSDNを調べていただいたら一発で出てきます。
VB を使い始めて数年経ちますが、だいたいのことは C などに頼らなくても出来ますよ(^^