パソコン固有の識別をしたいのですが(例えば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セル内の文字列が日本語か英語かを厳密に識別したい

セル内(C3)にある文字列に、漢字・ひらがな・全角カタカナ・半角カタカナのうち、1個でもあれば、その文字列すべてを、右隣のセル(C4)に移し、それ以外の場合はさらにその右隣(C5)に移したいのですが、


たとえば、

(C3)「AMERICA/JAPAN」の場合は、(C5)に「AMERICA/JAPAN」と移します。

(C3)「AMERICA/Japan」の場合は、(C5)に「AMERICA/Japan」と移します。

(C3)「AMERICA/JAPAN#$%?<>」の場合は、(C5)に「AMERICA/JAPAN#$%?<>」と移します。


しかし

(C3)「日本とアメリカ#$%?<>」の場合は、(C4)に「日本とアメリカ#$%?<>」と移します。

(C3)「日本/america」の場合は、(C4)に「日本/america」と移します。

(C3)「日本/アメリカ」の場合は、(C4)に「日本/アメリカ」と移します。

(C3)「Japanとamerica」の場合は、(C4)に「Japanとamerica」と移します。

VBAで処理する場合、文字コード、Chr関数、Mid関数を使えばいいと思ってプログラムを組むところです。

ところが、漢字のコード番号が何番から何番までか、よくわかりません。カタカナ・ひらがなは調べられます。

正確でなくとも<>=の数値処理の範囲指定ですので、漢字コードの範囲を教えてくださいませんか。

また、この処理目的のために、よりシンプルなプログラムがありましたら教えてくださいませんか。
よろしくお願いします。

※簡単に言いますと、セル内が日本語の文章か英語の文章かを識別する作業です。

セル内(C3)にある文字列に、漢字・ひらがな・全角カタカナ・半角カタカナのうち、1個でもあれば、その文字列すべてを、右隣のセル(C4)に移し、それ以外の場合はさらにその右隣(C5)に移したいのですが、


たとえば、

(C3)「AMERICA/JAPAN」の場合は、(C5)に「AMERICA/JAPAN」と移します。

(C3)「AMERICA/Japan」の場合は、(C5)に「AMERICA/Japan」と移します。

(C3)「AMERICA/JAPAN#$%?<>」の場合は、(C5)に「AMERICA/JAPAN#$%?<>」と移します。


しかし

(C3)「日本とアメリカ#$...続きを読む

Aベストアンサー

日本語かどうかの判定関数です。
引数の中身が日本語ならTrueをそれ以外ならFalseを返します。

------------------
Function IsJapan(Arg As String) As Boolean
IsJapan = Not (LenB(StrConv(StrConv(StrConv(StrConv(Arg, vbWide), vbHiragana), vbNarrow), vbFromUnicode)) = Len(Arg))
End Function

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に詰まった時は「マクロの記録」を有効に使いましょう(^^;

QWindowsで、システム上同じ言語と思えるものを識別するには?

GetLocaleInfoでロケール情報が取れますが、
ここから、言語とコードページを識別したいのですが
たとえば、中国語(繁体字)、中国語(簡体字)、韓国語、
タイ語、英語といった単位で識別したいのですが
LOCALE_SLANGUAGEなどで、言語を取ろうとすると、
同じ中国語(繁体字)でも台湾と香港が別言語として
識別されたりして、細かすぎて使えず
かといって、ANSIコードページで識別しようとすると
西欧言語がすべて1251となって英語とフランス語などの識別が
できません。
自分で、ロケールID<->自分で作った言語識別コードの
変換テーブルを作成すればできる気もしますが
すでに世の中に出回っているロジックがあれば
それを使いたいと思います。

なにか、よい方法をご存知ないでしょうか?

Aベストアンサー

> LOCALE_SLANGUAGEなどで、言語を取ろうとすると、
> 同じ中国語(繁体字)でも台湾と香港が別言語として
> 識別されたりして、細かすぎて使えず

言語 ID (LOCALE_ILANGUAGE) を丸ごと使おうとするからそうなります.
PRIMARYLANGID() マクロを使って言語 ID から primary language ID だけを
取り出せば同じ中国語 (LANG_CHINESE) として認識できます.

なお言語 ID は Windows 独自のものだと思うので (未確認),
Windows 以外のシステムとの互換性が必要ならば,言語 ID じゃなくて
ISO639 言語コード (LOCALE_SISO639LANGNAME) の方がいいかも.

ISO 639 (Wikipedia)
http://ja.wikipedia.org/wiki/ISO_639


> ANSIコードページで識別しようとすると西欧言語がすべて
> 1251となって英語とフランス語などの識別ができません。

そりゃ Windows-1252 (1251 はキリル文字ね) は複数西欧言語対応の
符号化文字集合ですから….

Code Pages Supported by Windows (Microsoft)
http://www.microsoft.com/globaldev/reference/WinCP.mspx

コードページ (Wikipedia)
http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%BC%E3%83%89%E3%83%9A%E3%83%BC%E3%82%B8



以下,2年ほど前に作った全ロケール情報取得テストプログラム
(GetLocaleInfoW() 使用) の出力から,言語とコードページに
関する部分だけ抜粋.
(元々 Unicode テキストなので一部文字化けしています.)

[4] Locale ID: 0x00000404
LOCALE_SSORTNAME: "画数" (2)
LOCALE_ILANGUAGE: 0x0404 (LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL)
LOCALE_IDEFAULTLANGUAGE: 0x0404 (LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL)
LOCALE_SLANGUAGE: "中国語 (台湾)" (8)
LOCALE_SABBREVLANGNAME: "CHT" (3)
LOCALE_SNATIVELANGNAME: "中文(繁體)" (6)
LOCALE_SENGLANGUAGE: "Chinese" (7)
LOCALE_SISO639LANGNAME: "zh" (2)
LOCALE_ICOUNTRY: 886 (CTRY_TAIWAN)
LOCALE_IDEFAULTCOUNTRY: 886 (CTRY_TAIWAN)
LOCALE_SCOUNTRY: "台湾" (2)
LOCALE_SABBREVCTRYNAME: "TWN" (3)
LOCALE_SNATIVECTRYNAME: "台灣" (2)
LOCALE_SENGCOUNTRY: "Taiwan" (6)
LOCALE_SISO3166CTRYNAME: "TW" (2)
LOCALE_IDEFAULTCODEPAGE: 950 (ANSI/OEM - Traditional Chinese (Big5))
LOCALE_IDEFAULTANSICODEPAGE: 950 (ANSI/OEM - Traditional Chinese (Big5))
LOCALE_IDEFAULTEBCDICCODEPAGE: 500 (IBM EBCDIC - International)
LOCALE_IDEFAULTMACCODEPAGE: 10002 (MAC - Traditional Chinese (Big5))

[68] Locale ID: 0x00000804
LOCALE_SSORTNAME: "発音" (2)
LOCALE_ILANGUAGE: 0x0804 (LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED)
LOCALE_IDEFAULTLANGUAGE: 0x0804 (LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED)
LOCALE_SLANGUAGE: "中国語 (中国)" (8)
LOCALE_SABBREVLANGNAME: "CHS" (3)
LOCALE_SNATIVELANGNAME: "中文(简体)" (6)
LOCALE_SENGLANGUAGE: "Chinese" (7)
LOCALE_SISO639LANGNAME: "zh" (2)
LOCALE_ICOUNTRY: 86 (CTRY_PRCHINA)
LOCALE_IDEFAULTCOUNTRY: 86 (CTRY_PRCHINA)
LOCALE_SCOUNTRY: "中華人民共和国" (7)
LOCALE_SABBREVCTRYNAME: "CHN" (3)
LOCALE_SNATIVECTRYNAME: "中华人民共和国" (7)
LOCALE_SENGCOUNTRY: "People's Republic of China" (26)
LOCALE_SISO3166CTRYNAME: "CN" (2)
LOCALE_IDEFAULTCODEPAGE: 936 (ANSI/OEM - Simplified Chinese (GBK))
LOCALE_IDEFAULTANSICODEPAGE: 936 (ANSI/OEM - Simplified Chinese (GBK))
LOCALE_IDEFAULTEBCDICCODEPAGE: 500 (IBM EBCDIC - International)
LOCALE_IDEFAULTMACCODEPAGE: 10008 (MAC - Simplified Chinese (GB2312))

[83] Locale ID: 0x00000C04
LOCALE_SSORTNAME: "画数" (2)
LOCALE_ILANGUAGE: 0x0C04 (LANG_CHINESE, SUBLANG_CHINESE_HONGKONG)
LOCALE_IDEFAULTLANGUAGE: 0x0C04 (LANG_CHINESE, SUBLANG_CHINESE_HONGKONG)
LOCALE_SLANGUAGE: "中国語 (香港)" (8)
LOCALE_SABBREVLANGNAME: "ZHH" (3)
LOCALE_SNATIVELANGNAME: "中文(繁體)" (6)
LOCALE_SENGLANGUAGE: "Chinese" (7)
LOCALE_SISO639LANGNAME: "zh" (2)
LOCALE_ICOUNTRY: 852 (CTRY_HONG_KONG)
LOCALE_IDEFAULTCOUNTRY: 852 (CTRY_HONG_KONG)
LOCALE_SCOUNTRY: "中華人民共和国香港特別行政区" (14)
LOCALE_SABBREVCTRYNAME: "HKG" (3)
LOCALE_SNATIVECTRYNAME: "香港特别行政区" (7)
LOCALE_SENGCOUNTRY: "Hong Kong S.A.R." (16)
LOCALE_SISO3166CTRYNAME: "HK" (2)
LOCALE_IDEFAULTCODEPAGE: 950 (ANSI/OEM - Traditional Chinese (Big5))
LOCALE_IDEFAULTANSICODEPAGE: 950 (ANSI/OEM - Traditional Chinese (Big5))
LOCALE_IDEFAULTEBCDICCODEPAGE: 500 (IBM EBCDIC - International)
LOCALE_IDEFAULTMACCODEPAGE: 10002 (MAC - Traditional Chinese (Big5))

[90] Locale ID: 0x00001004
LOCALE_SSORTNAME: "発音" (2)
LOCALE_ILANGUAGE: 0x1004 (LANG_CHINESE, SUBLANG_CHINESE_SINGAPORE)
LOCALE_IDEFAULTLANGUAGE: 0x1004 (LANG_CHINESE, SUBLANG_CHINESE_SINGAPORE)
LOCALE_SLANGUAGE: "中国語 (シンガポール)" (12)
LOCALE_SABBREVLANGNAME: "ZHI" (3)
LOCALE_SNATIVELANGNAME: "中文(简体)" (6)
LOCALE_SENGLANGUAGE: "Chinese" (7)
LOCALE_SISO639LANGNAME: "zh" (2)
LOCALE_ICOUNTRY: 65 (CTRY_SINGAPORE)
LOCALE_IDEFAULTCOUNTRY: 65 (CTRY_SINGAPORE)
LOCALE_SCOUNTRY: "シンガポール" (6)
LOCALE_SABBREVCTRYNAME: "SGP" (3)
LOCALE_SNATIVECTRYNAME: "新加坡" (3)
LOCALE_SENGCOUNTRY: "Singapore" (9)
LOCALE_SISO3166CTRYNAME: "SG" (2)
LOCALE_IDEFAULTCODEPAGE: 936 (ANSI/OEM - Simplified Chinese (GBK))
LOCALE_IDEFAULTANSICODEPAGE: 936 (ANSI/OEM - Simplified Chinese (GBK))
LOCALE_IDEFAULTEBCDICCODEPAGE: 500 (IBM EBCDIC - International)
LOCALE_IDEFAULTMACCODEPAGE: 10008 (MAC - Simplified Chinese (GB2312))

[18] Locale ID: 0x00000412
LOCALE_SSORTNAME: "Dictionary" (10)
LOCALE_ILANGUAGE: 0x0412 (LANG_KOREAN, SUBLANG_KOREAN)
LOCALE_IDEFAULTLANGUAGE: 0x0412 (LANG_KOREAN, SUBLANG_KOREAN)
LOCALE_SLANGUAGE: "韓国語" (3)
LOCALE_SABBREVLANGNAME: "KOR" (3)
LOCALE_SNATIVELANGNAME: "한국어" (3)
LOCALE_SENGLANGUAGE: "Korean" (6)
LOCALE_SISO639LANGNAME: "ko" (2)
LOCALE_ICOUNTRY: 82 (CTRY_SOUTH_KOREA)
LOCALE_IDEFAULTCOUNTRY: 82 (CTRY_SOUTH_KOREA)
LOCALE_SCOUNTRY: "韓国" (2)
LOCALE_SABBREVCTRYNAME: "KOR" (3)
LOCALE_SNATIVECTRYNAME: "대한민국" (4)
LOCALE_SENGCOUNTRY: "Korea" (5)
LOCALE_SISO3166CTRYNAME: "KR" (2)
LOCALE_IDEFAULTCODEPAGE: 949 (ANSI/OEM - Korean (Unified Hangeul Code))
LOCALE_IDEFAULTANSICODEPAGE: 949 (ANSI/OEM - Korean (Unified Hangeul Code))
LOCALE_IDEFAULTEBCDICCODEPAGE: 20833 (IBM EBCDIC - Korean Extended)
LOCALE_IDEFAULTMACCODEPAGE: 10003 (MAC - Korean)

[29] Locale ID: 0x0000041E
LOCALE_SSORTNAME: "既定値" (3)
LOCALE_ILANGUAGE: 0x041E (LANG_THAI)
LOCALE_IDEFAULTLANGUAGE: 0x041E (LANG_THAI)
LOCALE_SLANGUAGE: "タイ語" (3)
LOCALE_SABBREVLANGNAME: "THA" (3)
LOCALE_SNATIVELANGNAME: "ไทย" (3)
LOCALE_SENGLANGUAGE: "Thai" (4)
LOCALE_SISO639LANGNAME: "th" (2)
LOCALE_ICOUNTRY: 66 (CTRY_THAILAND)
LOCALE_IDEFAULTCOUNTRY: 66 (CTRY_THAILAND)
LOCALE_SCOUNTRY: "タイ" (2)
LOCALE_SABBREVCTRYNAME: "THA" (3)
LOCALE_SNATIVECTRYNAME: "ไทย" (3)
LOCALE_SENGCOUNTRY: "Thailand" (8)
LOCALE_SISO3166CTRYNAME: "TH" (2)
LOCALE_IDEFAULTCODEPAGE: 874 (ANSI/OEM - Thai (same as 28605, ISO 8859-15))
LOCALE_IDEFAULTANSICODEPAGE: 874 (ANSI/OEM - Thai (same as 28605, ISO 8859-15))
LOCALE_IDEFAULTEBCDICCODEPAGE: 20838 (IBM EBCDIC - Thai)
LOCALE_IDEFAULTMACCODEPAGE: 10021 (MAC - Thai)

[9] Locale ID: 0x00000409
LOCALE_SSORTNAME: "既定値" (3)
LOCALE_ILANGUAGE: 0x0409 (LANG_ENGLISH, SUBLANG_ENGLISH_US)
LOCALE_IDEFAULTLANGUAGE: 0x0409 (LANG_ENGLISH, SUBLANG_ENGLISH_US)
LOCALE_SLANGUAGE: "英語 (米国)" (7)
LOCALE_SABBREVLANGNAME: "ENU" (3)
LOCALE_SNATIVELANGNAME: "English" (7)
LOCALE_SENGLANGUAGE: "English" (7)
LOCALE_SISO639LANGNAME: "en" (2)
LOCALE_ICOUNTRY: 1 (CTRY_UNITED_STATES)
LOCALE_IDEFAULTCOUNTRY: 1 (CTRY_UNITED_STATES)
LOCALE_SCOUNTRY: "米国" (2)
LOCALE_SABBREVCTRYNAME: "USA" (3)
LOCALE_SNATIVECTRYNAME: "United States" (13)
LOCALE_SENGCOUNTRY: "United States" (13)
LOCALE_SISO3166CTRYNAME: "US" (2)
LOCALE_IDEFAULTCODEPAGE: 437 (OEM - U.S.)
LOCALE_IDEFAULTANSICODEPAGE: 1252 (ANSI - Latin I)
LOCALE_IDEFAULTEBCDICCODEPAGE: 37 (IBM EBCDIC - U.S./Canada)
LOCALE_IDEFAULTMACCODEPAGE: 10000 (MAC - Roman)

[70] Locale ID: 0x00000809
LOCALE_SSORTNAME: "既定値" (3)
LOCALE_ILANGUAGE: 0x0809 (LANG_ENGLISH, SUBLANG_ENGLISH_UK)
LOCALE_IDEFAULTLANGUAGE: 0x0809 (LANG_ENGLISH, SUBLANG_ENGLISH_UK)
LOCALE_SLANGUAGE: "英語 (英国)" (7)
LOCALE_SABBREVLANGNAME: "ENG" (3)
LOCALE_SNATIVELANGNAME: "English" (7)
LOCALE_SENGLANGUAGE: "English" (7)
LOCALE_SISO639LANGNAME: "en" (2)
LOCALE_ICOUNTRY: 44 (CTRY_UNITED_KINGDOM)
LOCALE_IDEFAULTCOUNTRY: 44 (CTRY_UNITED_KINGDOM)
LOCALE_SCOUNTRY: "英国" (2)
LOCALE_SABBREVCTRYNAME: "GBR" (3)
LOCALE_SNATIVECTRYNAME: "United Kingdom" (14)
LOCALE_SENGCOUNTRY: "United Kingdom" (14)
LOCALE_SISO3166CTRYNAME: "GB" (2)
LOCALE_IDEFAULTCODEPAGE: 850 (OEM - Multilingual Latin I)
LOCALE_IDEFAULTANSICODEPAGE: 1252 (ANSI - Latin I)
LOCALE_IDEFAULTEBCDICCODEPAGE: 20285 (IBM EBCDIC - United Kingdom)
LOCALE_IDEFAULTMACCODEPAGE: 10000 (MAC - Roman)

[85] Locale ID: 0x00000C09
LOCALE_SSORTNAME: "既定値" (3)
LOCALE_ILANGUAGE: 0x0C09 (LANG_ENGLISH, SUBLANG_ENGLISH_AUS)
LOCALE_IDEFAULTLANGUAGE: 0x0C09 (LANG_ENGLISH, SUBLANG_ENGLISH_AUS)
LOCALE_SLANGUAGE: "英語 (オーストラリア)" (12)
LOCALE_SABBREVLANGNAME: "ENA" (3)
LOCALE_SNATIVELANGNAME: "English" (7)
LOCALE_SENGLANGUAGE: "English" (7)
LOCALE_SISO639LANGNAME: "en" (2)
LOCALE_ICOUNTRY: 61 (CTRY_AUSTRALIA)
LOCALE_IDEFAULTCOUNTRY: 61 (CTRY_AUSTRALIA)
LOCALE_SCOUNTRY: "オーストラリア" (7)
LOCALE_SABBREVCTRYNAME: "AUS" (3)
LOCALE_SNATIVECTRYNAME: "Australia" (9)
LOCALE_SENGCOUNTRY: "Australia" (9)
LOCALE_SISO3166CTRYNAME: "AU" (2)
LOCALE_IDEFAULTCODEPAGE: 850 (OEM - Multilingual Latin I)
LOCALE_IDEFAULTANSICODEPAGE: 1252 (ANSI - Latin I)
LOCALE_IDEFAULTEBCDICCODEPAGE: 500 (IBM EBCDIC - International)
LOCALE_IDEFAULTMACCODEPAGE: 10000 (MAC - Roman)

[12] Locale ID: 0x0000040C
LOCALE_SSORTNAME: "既定値" (3)
LOCALE_ILANGUAGE: 0x040C (LANG_FRENCH, SUBLANG_FRENCH)
LOCALE_IDEFAULTLANGUAGE: 0x040C (LANG_FRENCH, SUBLANG_FRENCH)
LOCALE_SLANGUAGE: "フランス語 (フランス)" (12)
LOCALE_SABBREVLANGNAME: "FRA" (3)
LOCALE_SNATIVELANGNAME: "français" (8)
LOCALE_SENGLANGUAGE: "French" (6)
LOCALE_SISO639LANGNAME: "fr" (2)
LOCALE_ICOUNTRY: 33 (CTRY_FRANCE)
LOCALE_IDEFAULTCOUNTRY: 33 (CTRY_FRANCE)
LOCALE_SCOUNTRY: "フランス" (4)
LOCALE_SABBREVCTRYNAME: "FRA" (3)
LOCALE_SNATIVECTRYNAME: "France" (6)
LOCALE_SENGCOUNTRY: "France" (6)
LOCALE_SISO3166CTRYNAME: "FR" (2)
LOCALE_IDEFAULTCODEPAGE: 850 (OEM - Multilingual Latin I)
LOCALE_IDEFAULTANSICODEPAGE: 1252 (ANSI - Latin I)
LOCALE_IDEFAULTEBCDICCODEPAGE: 20297 (IBM EBCDIC - France)
LOCALE_IDEFAULTMACCODEPAGE: 10000 (MAC - Roman)

[72] Locale ID: 0x0000080C
LOCALE_SSORTNAME: "既定値" (3)
LOCALE_ILANGUAGE: 0x080C (LANG_FRENCH, SUBLANG_FRENCH_BELGIAN)
LOCALE_IDEFAULTLANGUAGE: 0x080C (LANG_FRENCH, SUBLANG_FRENCH_BELGIAN)
LOCALE_SLANGUAGE: "フランス語 (ベルギー)" (12)
LOCALE_SABBREVLANGNAME: "FRB" (3)
LOCALE_SNATIVELANGNAME: "français" (8)
LOCALE_SENGLANGUAGE: "French" (6)
LOCALE_SISO639LANGNAME: "fr" (2)
LOCALE_ICOUNTRY: 32 (CTRY_BELGIUM)
LOCALE_IDEFAULTCOUNTRY: 32 (CTRY_BELGIUM)
LOCALE_SCOUNTRY: "ベルギー" (4)
LOCALE_SABBREVCTRYNAME: "BEL" (3)
LOCALE_SNATIVECTRYNAME: "Belgique" (8)
LOCALE_SENGCOUNTRY: "Belgium" (7)
LOCALE_SISO3166CTRYNAME: "BE" (2)
LOCALE_IDEFAULTCODEPAGE: 850 (OEM - Multilingual Latin I)
LOCALE_IDEFAULTANSICODEPAGE: 1252 (ANSI - Latin I)
LOCALE_IDEFAULTEBCDICCODEPAGE: 20297 (IBM EBCDIC - France)
LOCALE_IDEFAULTMACCODEPAGE: 10000 (MAC - Roman)

[87] Locale ID: 0x00000C0C
LOCALE_SSORTNAME: "既定値" (3)
LOCALE_ILANGUAGE: 0x0C0C (LANG_FRENCH, SUBLANG_FRENCH_CANADIAN)
LOCALE_IDEFAULTLANGUAGE: 0x0C0C (LANG_FRENCH, SUBLANG_FRENCH_CANADIAN)
LOCALE_SLANGUAGE: "フランス語 (カナダ)" (11)
LOCALE_SABBREVLANGNAME: "FRC" (3)
LOCALE_SNATIVELANGNAME: "français" (8)
LOCALE_SENGLANGUAGE: "French" (6)
LOCALE_SISO639LANGNAME: "fr" (2)
LOCALE_ICOUNTRY: 2 (CTRY_CANADA)
LOCALE_IDEFAULTCOUNTRY: 2 (CTRY_CANADA)
LOCALE_SCOUNTRY: "カナダ" (3)
LOCALE_SABBREVCTRYNAME: "CAN" (3)
LOCALE_SNATIVECTRYNAME: "Canada" (6)
LOCALE_SENGCOUNTRY: "Canada" (6)
LOCALE_SISO3166CTRYNAME: "CA" (2)
LOCALE_IDEFAULTCODEPAGE: 850 (OEM - Multilingual Latin I)
LOCALE_IDEFAULTANSICODEPAGE: 1252 (ANSI - Latin I)
LOCALE_IDEFAULTEBCDICCODEPAGE: 20297 (IBM EBCDIC - France)
LOCALE_IDEFAULTMACCODEPAGE: 10000 (MAC - Roman)

> LOCALE_SLANGUAGEなどで、言語を取ろうとすると、
> 同じ中国語(繁体字)でも台湾と香港が別言語として
> 識別されたりして、細かすぎて使えず

言語 ID (LOCALE_ILANGUAGE) を丸ごと使おうとするからそうなります.
PRIMARYLANGID() マクロを使って言語 ID から primary language ID だけを
取り出せば同じ中国語 (LANG_CHINESE) として認識できます.

なお言語 ID は Windows 独自のものだと思うので (未確認),
Windows 以外のシステムとの互換性が必要ならば,言語 ID じゃなくて
ISO639 言語コ...続きを読む

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迷惑メールドメインの識別について

私の利用しているプロバイダーは、スパムメール対策として、迷惑メールのメールアドレスの登録とドメインの登録が出来ます。

メールアドレスがいっぱいになったため、ドメインの登録をしたいのですが、
なかに、
yahoo.com
docomo.com
などの大手プロバイダーのドメインもあります。

それで、一般のプロバイダーでなく、個人のドメインとか、偽のドメインを識別したいのですが、いい方法がありましたら教えてください。

すでに、次のサイトなどを使ってみましたが、英語で表示せれ、識別ができません。

------

WHOIS IPドメインサーチ アドレス検索

http://www.cc.rim.or.jp/~gabura/webup/ip.html

------

よろしくお願いします。

Aベストアンサー

まずドメインとはなにか、ですが、インターネット上でIPアドレスを人間に理解しやすい形にするために、そのIPアドレスを利用している組織ごとに識別するための文字列を設定し、登録したものです。その登録はレジストリと呼ばれる業者(国によっては非営利団体)がその国ごとに担当しており、日本ではJPNIC(日本インターネットインフォーメーションセンター)、JPRS(日本レジストリサービス)の2つの組織が知られています。これらの日本のレジストリに許されているのは、一番最後がjpで終わるドメインだけであり、それ以外のドメインは別な国で使用され、その国のレジストリが登録業務を行っています。例えばkrで終わるドメインは韓国のドメインであり、krnicと呼ばれる組織が管轄しています。comやnetで終わるドメインはアメリカのドメインであり、ネットワークソリューションズ社など複数の組織が知られていますね。

で、ドメインの管理がもともとこのように国ごとに分かれていますので、海外のドメインについての登録情報が英語で(もしくは現地の言葉で)行われているのは仕方のないことです。日々、登録や抹消が行われているドメイン名全体について、いちいち登録情報を日本語に訳して提供することは現実的に不可能です。
よって、英語で表示された情報を元に、その正体を何とか探る努力は、やむを得ないと言わざるを得ないのです。

現時点ではドメイン名ベースの迷惑メール対策は既に時代遅れであって、プロバイダが学習型の迷惑メールフィルターサービス(迷惑メールによく使われるような単語を統計処理し、そのメールが迷惑メールかどうかをチェックするシステム)を提供しているのであればそちらに乗り換えたり、PCにインストールするタイプの迷惑メール対策ソフト(ノートンインターネットセキュリティやウィルスバスターなど)に乗り換えるのも良いかもしれません。

役に立たない回答で申し訳ありませんが…。

まずドメインとはなにか、ですが、インターネット上でIPアドレスを人間に理解しやすい形にするために、そのIPアドレスを利用している組織ごとに識別するための文字列を設定し、登録したものです。その登録はレジストリと呼ばれる業者(国によっては非営利団体)がその国ごとに担当しており、日本ではJPNIC(日本インターネットインフォーメーションセンター)、JPRS(日本レジストリサービス)の2つの組織が知られています。これらの日本のレジストリに許されているのは、一番最後がjpで終わるドメインだけであり...続きを読む

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=

QVBAの文字列で「"」を識別したい。

何度もすみません。
日本語、英語の文字列をソートしています。
最後に"○○"という表示で「"」の識別と抽出・削除ができません。
"""となってしまい、エラーになります。
解決方法を教えてください。
よろしくお願いします。

Aベストアンサー

お世話になります。

Replace 関数が便利です。


Dim text As String
text = """" & "hage" & """" & "hoge" & """"

' イミディエイトウィンドウに出力
Debug.Print text

' 取り除く
Dim removedText As String
removedText = Replace(text, """", "")

' 取り除いた結果をイミディエイトウィンドウに出力
Debug.Print removedText

参考URL:http://www.geocities.jp/cbc_vbnet/function/mojireyu_function.html#replace

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.

QDTDにおける公開識別子について

DTDにおいて、公開識別子を使用して外部DTDの参照、もしくはエンティティ宣言を行う場合、公開識別子からその内容をXMLパーサが解析可能である場合システム識別子は省略可能です。
質問なのですが、これはパーサがどういった挙動をとっているのでしょうか。XMLパーサにシステム識別子と公開識別子のマッピングが定義してあるのでしょうか??
ご存知の方ご教示ください。

Aベストアンサー

まず,XMLではシステム識別子を省略できません。

http://www.w3.org/TR/REC-xml/#NT-doctypedecl

おそらく公開識別子のみでできる、というのはSGMLの話です。
僕はSGMLについて詳しくありませんが,
どうやら
http://www.kanzaki.com/docs/html/doctype.html#fpi
にあるような
「SGML Open catalog」という定義用のファイルを書くことができるようです。

#俺の予想だけど,当時は常時接続って稀で文書インスタンスのシステム識別子としてファイルパスを与えるのが一般的だったのかもしれない。マシンを移動する度に毎回システム識別子を書き換えるのは面倒だから外部にあるのも解らんでもない気がする。相対URIで書いて二つのファイルを持ち歩けばよかったんじゃないかと思うと,何か違うような気もするが。いずれにしても俺の予想だから当てにしてはいかんぞ。

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ランキング