パソコン固有の識別をしたいのですが(例えばWindowsXPやオフィスXPはこれでコピーを防いでいますが)VBでパソコンの識別番号を取得することはできるのでしょうか??
コピー防止のプロテクトに使いたいのですが・・・・

A 回答 (4件)

ネットワークカードを持っているコンピュータにしか使えませんが、ネットワークカードの、MACアドレスを取得すれば、ほぼ一意に識別できます。

(99.999%ぐらい)
MACアドレス自身を取得するのは、APIでできると思いますが、私にはわかりません。どなたか詳しい方、フォロー願います。
    • good
    • 0

MACアドレスの取得ならMSDNに出ていますよ。



参考URL:http://www.microsoft.com/japan/support/kb/articl …
    • good
    • 0

完璧でなく、かつ、要領の悪い方法ですが


Windowsのシステムレジストリの一部を読み込んだり、
まず設定変更されないような設定ファイルを読み込んだりして、それらの
合計値(文字の)をチェックサムのような形にする方法も
ひとつあります。

#Pentium3以降には、CPU固有のIDを持っていますが、
 Disenabledされてることもありますので・・・
    • good
    • 0

厳密にプロテクトをかけるのは難しいと思います。


インストール時にフロッピーディスクで
2回目はインストール出来ないようにする方法も
あるかと思いますがフロッピーをコピーされたら
防ぎようがありません。

個人的には起動時に「登録してください」的な
メッセージが出てくる程度で良いと思います。
使い込んでくるとメッセージが邪魔になり
「それなら登録しようかな・・・」と思うのを願うだけで
良いような気もします(笑)
ソフトにもよりますが、厳しくプロテクトをかけるよりも
実際多くのユーザに使用してもらうほうが得策だと思いますが。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qワードの全文章をリッチテキストボックスにコピーしたい(VB.NETもしくはVB6でもOK)

ワードの全文章内容をリッチテキストボックスに
できれば下線、太字等の属性を含めてコピーしたいと考えています。
しかし、ワードの文章をクリップボードに
コピーすることができません。
というのは、ワードの文章を全選択することができないからです。

dcApp=New Microsoft.Office.Interop.Word.Application()
dcDoc = dcApp.Documents.Open("c:test.doc")

??? dcDoc.Select()
dcDoc.Copy() ←(1)
RichTextBox1.Paste()

上の例(VB.NETです)では、
(1)の部分において、
「文章が選択されていないのでコピーできない」というエラーがでます。
上のdcDoc.Select()では動作しなかったのですが、
この部分に変わる内容をご教示ください。

以上、よろしくお願いします。

Aベストアンサー

>この部分に変わる内容をご教示ください。

まず、Wordを起動して「マクロの記録」を実行し
文章全体を選択して(Ctrl+Aとか、shift+endキーを押す)Ctrl+Cでコピーして、「記録終了」を押し、VBEditorで標準モジュールを開きマクロを見てみてください。

おそらく、Selectionオブジェクトに対して
Selection.Endkey ~(パラメータは忘れました)
Selection.Copy

などのコードが入っているはずです。
SelectionオブジェクトはApplicationオブジェクトのSelectionプロパティから取るので、dcDoc.Activateとした後

dcApp.Selection.Endkey ~
dcApp.Selection.Copy

とすればOKです。
VBAに詰まった時は「マクロの記録」を有効に使いましょう(^^;

Qカスタムコントロール作ってます(VB.NET)。VB.Net にVB.6のActiveX作成時にあったプロパティページ作成ができないようですが

タイトルどうりです。VBNETのカスタムコントロールでデザインモードにおけるフォームつまりプロパティページやビジュアルにプロパティボックスから設定できるようにしたいのですが、どうしたらできるでしょうか?VB6ではできたのですが、(Activexコントロール)。

よろしくお願いします。

Aベストアンサー

通常のプロパティと同じように、プロパティ ウィンドウに項目を表示して設定できるようにする必要があります。
具体的には、
1. カスタム コントロールのクラスに外部公開する Property プロシージャを作成して、内部で値を保存できるようにする。
2. そのプロパティの宣言部分で、プロパティ ウィンドウに表示するように指示する属性値を設定する。

こんな感じです。

参考URL:http://www.atmarkit.co.jp/fdotnet/winexp/winexp02/winexp02_01.html

Qファイルのコピー(VBにて)

OS:windows2000pro
VB:VB6.0sp5

元ファイル場所:"C:\work_from\データ050512.csv
元ファイル  :"データ050512.csv"

コピー先場所:"C:\work_to

条件1.コピー先に元ファイルと
    同じ名前のファイルが存在する場合
     →上書きとする
条件2.コピー先に元ファイルと
    同じ名前のファイルが存在し
    ファイルがアクセス中(開かれている状態)の場合
     →コピー先のファイルは、
      他からアクセスされる可能性が有
      これを考慮して下さい。
      アクセス中のファイルはアクセス中は更新(コピー)
      されなくても問題ないかと考えています

以上、初歩的なご質問で申し訳御座いません。
よろしくお願いいたします

Aベストアンサー

こんにちは、じゃんぬねっと と申します。

> コピー先のファイルは、他からアクセスされる可能性が有
> これを考慮して下さい。

ちょっと意味がわかりません...

> アクセス中のファイルはアクセス中は更新(コピー)
> されなくても問題ないかと考えています

ロックされてなければコピーされちゃうんでしょうが、
それはされなくて「問題ない」のではなく、しちゃまずいのでは?

で、結局、何がお聞きになりたいんでしょ? (^^)
ファイルのコピーの仕方ですか?

http://www.google.co.jp/search?hl=ja&c2coff=1&q=VB+%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%82%B3%E3%83%94%E3%83%BC&lr=

QVB2005でクリップボードにコピー

VB2005でPicture1のイメージをクリップボードにコピーし
Picture2.imageにペーストすると
Picture2の画面がすべてブルーになつてしまいます。
プログラムはサンプル(microsoft Document explorerから)をダウンロードしべつのプログラムに貼り付けただけなのですが。

'ピクチャをピクチャ ボックスからクリップボードにコピーします
My.Computer.Clipboard.SetImage(PictureBox1.Image)

'クリップボードにイメージが存在する場合、そのイメージをピクチャ ボックスに貼り付けます
If My.Computer.Clipboard.ContainsImage Then
PictureBox2.Image = My.Computer.Clipboard.GetImage
Else
MsgBox("Clipboard does not contain an image", MsgBoxStyle.Exclamation And MsgBoxStyle.OKOnly)
End If

VB2005でPicture1のイメージをクリップボードにコピーし
Picture2.imageにペーストすると
Picture2の画面がすべてブルーになつてしまいます。
プログラムはサンプル(microsoft Document explorerから)をダウンロードしべつのプログラムに貼り付けただけなのですが。

'ピクチャをピクチャ ボックスからクリップボードにコピーします
My.Computer.Clipboard.SetImage(PictureBox1.Image)

'クリップボードにイメージが存在する場合、そのイメージをピクチャ ボックスに貼り付けま...続きを読む

Aベストアンサー

画像情報自体が壊れているのではないでしょうか?

OSのクリップボードビューアでも 青くなってしまいますか ...
コマンドプロンプトまたは ファイル名を指定して実行などから
ClipBrd.exe を実行してみてください

こちらのクリップボードで青くなってしまっているのであれば画像自体の情報が何らかの原因で欠落しているのが原因かもしれません

当方の WinXP SP2+VS2005 の環境で お示しのコードを実行してみましたが当該の症状は発生しませんでした ...

画像の種類は何だったのでしょう... BMP,JPG,GIF etc.

QVB6 ListIndexのコピー

お世話になります

Combo1のリスト更新に連動してCombo2も更新したいのですが、
「プロパティの値が不正です。」のエラーが出てしまいます。

下記コードの添削をお願いいたします。

Private Sub Combo1_Click()
Me.Combo2.ListIndex = Combo1.ListIndex
End Sub

Aベストアンサー

先ずVB6では、ComboBoxのListIndexが変更されると、Clickイベントが発生します。(テストして確認した)

ListIndexに代入する前に、Clear()を行っているので、ListIndexは必ず-1になっていて、必然的にClickイベントが発生します。

提示されたコードでは、イベントがループしてエラーになります。
※リスト項目の再設定は本当に必要ですか?
リスト項目の再設定がどうしても必要なら、リスト項目設定中のフラグを用意して、イベントがループしないようにします。

Private flag As Boolean

Private Sub Combo1_Click()
If flag = True Tren Exit Sub
flag = True
With Combo2
.Clear
.AddItem "aaa"
.AddItem "bbb"
.ListIndex = Combo1.ListIndex
.Refresh
End With
flag = False
End Sub

Private Sub Combo2_Click()
If flag = True Tren Exit Sub
flag = True
With Combo1
.Clear
.AddItem "aaa"
.AddItem "bbb"
.ListIndex = Combo2.ListIndex
.Refresh
End With
flag = False
End Sub

先ずVB6では、ComboBoxのListIndexが変更されると、Clickイベントが発生します。(テストして確認した)

ListIndexに代入する前に、Clear()を行っているので、ListIndexは必ず-1になっていて、必然的にClickイベントが発生します。

提示されたコードでは、イベントがループしてエラーになります。
※リスト項目の再設定は本当に必要ですか?
リスト項目の再設定がどうしても必要なら、リスト項目設定中のフラグを用意して、イベントがループしないようにします。

Private flag As Boolean

Private Sub Combo1_C...続きを読む


人気Q&Aランキング

おすすめ情報