
はじめまして。
vb6.0の開発をしている者です。
表題にもありますように、「&HFFFF」「&H1A」は何を指しているのでしょうか?
実際は以下のように記述しています。
l = SendMessage("&HFFFF", "&H1A", 0, "windows")
Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lparam As String) As Long
初歩的な質問で申し訳ないのですが、なかなかこれだ!という情報を見つけれずにいます。よろしくお願いします。
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
#3です。
質問者さんは16進数が分からない訳ではなく、APIに与えた引数の
意味を質問されているものと思います。
再掲ですが、&HFFFFはHWND_BROADCASTのことで、トップレベルの
ウィンドウ全体を指しています。&H1AはWM_WININICHANGEと言う
メッセージで、「Win.ini」が変更されたことを示します。
つまり、あるプロセスが「通常使うプリンタ」を変更する等、
win.ini(現在はレジストリだが、Windows3.1までは左記ファイル)を
更新したと言うことを他のトップレベル(親ウィンドウを持たない)
ウィンドウに通知しています。
通常はシンボル化して使います。
Const HWND_BROADCAST As Long = &HFFFF&
Const WM_WININICHANGE As Long = &H1A
特に&HFFFFは最後に&を付けないと-1になってしまい、本来の値の
65535になりません。-1でも良いのですが、厳密には異なります。
しかし、このメッセージを処理するウィンドウプロシージャを寡聞に
して見た事がありません。普通、印刷という行為は自動実行ではなく、
人間が明示的に操作するもので、機械的に同時期に異なるプリンタへ
印刷指令が出るようなことは考えられませんよね。それに、万一、
意図したものと違うプリンタに出力されても、やり直せば済む話
ですし・・・ あと、ウィンドウを持たないプロセスがこういう情報を
使うこともないわけではありません。
ということで、殆ど意味の無い行為です。(オマジナイ程度の気休め)
保守に責任が持てないのなら、削除することをお勧めします。
No.5
- 回答日時:
VB2008しかできない初心者の僕です。
進数自体は理解してますか?
10進数は8,9,10で桁が変わりますよね。
16進数は9,a,b,c,d,e,f,10になります。
昔の機械語ではBD15とか462Bとか命令言語であったりしました。
あと、メモリの番地にも使われてましたね。
&H40BD番地の内容参照とか
この場合は&h40BD番地の中の値を意味します。
C++とかでは、今でもあるのかな?
ではでは。
No.4
- 回答日時:
私も
・vb6.0でプログラムを組んでいて
・開発をしている
方からコンナ質問が出るとは。
ーー
&Hは16進表記を示す約束です。
10進に変えてみるとかは回答が出ているが、
別の面から書いてみる。
私の経験から(絶対全てのケースというわけではないが)
この16進を2進数ビット列にして保持してみたとき、左(または
右)から何番目のビットがONならこういう処理になる(する)・状態であるという設計図(決め)が言語ソフトの設計者によって決められている場合が多い。ビット位置ごとの意味づけである。
基礎的な(機械語で扱うような)システムになるほどそういう傾向が強い。昔はメモリの節約からだった。メモリもふんだんになった今後は、だんだん文字化が図られよう。しかしビット演算というのも便利な場合がある。
そして各ビットは独立していて、ONにするのは相互に制約なしである。
だからそういう場合は、ビット位置に意味づけした、その設計の解説を読まないとわからない。
この例1Aでは
右から2番目の状態などがON
右から4番目の状態などがON
右から5番目の状態などがON
その他はOFFで該当しないとか。
ーー
2進数 11010
16進化 =bin2dec(11010) 26
10進化 =bin2HEX(11010) 1A
16進を2進化 =Hex2bin("1A") 11010
いずれも使っているのはエクセル関数で。
No.3
- 回答日時:
ココ見てね。
http://support.microsoft.com/kb/135387/ja
&HFFFF は HWND_BROADCAST、&H1A は WM_WININICHANGE のこと。
あと、VBでAPIのパラメータが文字列の場合、必ずByValが必要です。
よって、lparam As String は誤りで、ByVal lparam As String が
正しい。
恐らく、このSendMessageは不要のはずです。
No.2
- 回答日時:
&Hは16進数の事、 FFは 16~2 = 256 です。
十進数 8.. 9.. 10.. 11.. 12..
16真数 &H08 &H09 &H0A &H0B
&H1A = 1*16^1+10 = 26(十進数)
&HFFFF = 15*16^3+15*16^2+15*16^1+15 = 65535(十進数)
No.1
- 回答日時:
>、「&HFFFF」「&H1A」は何を指しているのでしょうか?
16進表記です
>vb6.0の開発をしている者です
ほんとですか???????????????????????????????????????????????????????????????????????????????????????????
1000000000000% あり得ない質問だと思うのですが?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Visual Basic(VBA) Vba LongPtrについて教えてください 2 2022/08/19 11:14
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Excel(エクセル) excel vba 参照渡しと値渡し 2 2022/04/27 10:45
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) VBA リボンののリカバリーでオーバーフローエラーになります 2 2023/07/04 19:07
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
このQ&Aを見た人はこんなQ&Aも見ています
-
16進数の変換処理
Visual Basic(VBA)
-
16進の10進変換について
Visual Basic(VBA)
-
Visual Basic 2010を使ってRS-232Cとの通信をした
Visual Basic(VBA)
-
-
4
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
5
VB.NETでMSComm が追加できず?
Microsoft ASP
-
6
Form_Load と Form_Activate のタイミング
Visual Basic(VBA)
-
7
VB6からの移行したいけど、VB.NETのコントロール配列は?
Visual Basic(VBA)
-
8
ADOのCursorLocationプロパティ
Visual Basic(VBA)
-
9
VB.NETでフォーム上にExcelのような表を表示する方法
Visual Basic(VBA)
-
10
VB6.0の「vbFromUnicode」はVB.NETではどれに相当しますか?
Visual Basic(VBA)
-
11
vb.netで画面のコントロールId名を変数で動的に制御し処理する方法
Visual Basic(VBA)
-
12
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
-
13
VB6のAttribute VB_Nameの意味について
Visual Basic(VBA)
-
14
CloseとDisposeの違い
Visual Basic(VBA)
-
15
Designer.vbは直接コードをいじってはだめ?
Visual Basic(VBA)
-
16
VBAで符号無し整数
Visual Basic(VBA)
-
17
VB6.0で&"の意味"
Visual Basic(VBA)
-
18
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
19
ユーザーフォームのラベルに時間を表示させてずっと時間がちゃんと動くような方法はありますか?コード書い
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで作った新しいウイン...
-
「アイテムは収集されました」...
-
Vba LongPtrについて教えてくだ...
-
MFCでハンドルを取得するには
-
検索の画面がでなくなってしま...
-
勝手にウィンドウが開いて止ま...
-
[VBA] UserForm を Excel の W...
-
Console.WriteLine で表示されない
-
Excelの上下を固定したい
-
クライアントの解像度環境
-
ゲームでは結局どっちが良いの?
-
「&HFFFF」「&H1A」とは?
-
エクセルで1行目から3行目が消...
-
UWSCで特定のChromeのタブをア...
-
名前を付けて保存のウィンドウ...
-
OutlookでRSSフィードやメモの...
-
c++/cli .NET Formアプリケー...
-
作成したウインドウのサイズを...
-
最大化でタスクバーを隠す
-
ブック構成の保護
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで作った新しいウイン...
-
「アイテムは収集されました」...
-
Vba LongPtrについて教えてくだ...
-
勝手にウィンドウが開いて止ま...
-
ラジオボタンの初期指定
-
ゲームでは結局どっちが良いの?
-
検索の画面がでなくなってしま...
-
Excelの上下を固定したい
-
「&HFFFF」「&H1A」とは?
-
ExcelのBOOKが消えた!
-
エクセルで1行目から3行目が消...
-
[VBA] UserForm を Excel の W...
-
【VB2008】 マウス操作の一時的...
-
VBA .Value=.Value ?
-
作成したウインドウのサイズを...
-
DellノートPC購入で悩んでいま...
-
UWSCで特定のChromeのタブをア...
-
Alt+P,Alt+NをPostmessageで送...
-
隠れたウィンドウの画面をキャ...
-
Console.WriteLine で表示されない
おすすめ情報