VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 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 などに頼らなくても出来ますよ(^^


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -