ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年4月28日(日) 00:19

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 5 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2005年11月28日(月) 13:46 
オフライン

登録日時: 2005年5月31日(火) 23:46
記事: 45
お住まい: 愛知県
AB4.11.03で、レジストリに正常にアクセスできない気がします。
コード:
Dim hReg As Long

'■スタートアップに登録されていないか調べる
RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\Microsoft\Windows\CurrentVersion\Run",0,KEY_ALL_ACCESS,hReg)
If RegQueryValueEx(hReg,"SSS",0,REG_NONE,0,0)=ERROR_SUCCESS Then
	MessageBox(0,"登録されています","",MB_OK)
Else
	MessageBox(0,"登録されていません","",MB_OK)
End If
RegCloseKey(hReg)
このコードをAB3.13で実行するときちんと動作しますが、AB4.11.03に移植し(hRegの型をHKEYにする)、実行するとうまく動きません。
この場合、キーSSSが存在していても「登録されていません」と表示されます。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年11月30日(水) 01:14 
オフライン

登録日時: 2005年8月23日(火) 00:15
記事: 161
お住まい: 沖縄県
GoogleでRegOpenKeyEx ERROR_SUCCESSで検索すると、ABの過去ログが先頭に来ました。
キャッシュしか残っていませんでしたが・・・、すごいと思いませんか?

修正方法は、そのときのコードを参考にしました。
コード:
Dim hReg As HKEY	'Long を HKEY に変更しないとコンパイルが通らない

'■スタートアップに登録されていないか調べる 
'KEY_ALL_ACCESS を KEY_QUERY_VALUE へ変更
RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\Microsoft\Windows\CurrentVersion\Run",0,KEY_QUERY_VALUE,hReg)

If RegQueryValueEx(hReg,"SSS",0,REG_NONE,0,0)=ERROR_SUCCESS Then 
	MessageBox(0,"登録されています","",MB_OK) 
Else 
	MessageBox(0,"登録されていません","",MB_OK) 
End If 
RegCloseKey(hReg)


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年12月01日(木) 16:32 
オフライン

登録日時: 2005年5月31日(火) 23:46
記事: 45
お住まい: 愛知県
いえ、その辺はもう調べているのですが、

このコードをAB3.13でDLLとしてコンパイルしてAB4.11で呼び出すと正常にオープンできるのに、AB4.11のコンパイラを使用するとオープンできません。

だから、コンパイラが作ったEXEの中でAPIの使用がうまくいっていないのではないかな?と思って書き込みました。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年12月01日(木) 17:27 
オフライン

登録日時: 2005年8月23日(火) 00:15
記事: 161
お住まい: 沖縄県
ケースケさん失礼しました。AB4.11.03のバグのようです。
どうもリテラル値でNot演算子が無視されているようです。
コード:
Dim A    As DWord
A=(    SYNCHRONIZE): MessageBox(0,"    SYNCHRONIZE = " & Hex$(A),"",MB_OK)
A=(Not SYNCHRONIZE): MessageBox(0,"Not SYNCHRONIZE = " & Hex$(A),"",MB_OK)
急にSYNCHRONIZEが出ましたが、KEY_ALL_ACCESSで使用します。
コード:
Const KEY_ALL_ACCESS = (STANDARD_RIGHTS_ALL Or _
						KEY_QUERY_VALUE     Or _
						KEY_SET_VALUE       Or _
						KEY_CREATE_SUB_KEY  Or _
						KEY_ENUMERATE_SUB_KEYS Or _
						KEY_NOTIFY Or KEY_CREATE_LINK) _
					And (Not SYNCHRONIZE)


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年12月01日(木) 21:12 
オフライン
Site Admin

登録日時: 2005年5月30日(月) 15:08
記事: 535
ご報告ありがとうございます。

マティさんのご指摘の通り、リテラルNot演算に支障があったようです。
早速、Ver4.12.01にて修正を行いました。再度、こちらをダウンロードしてお試しください。


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 5 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[16人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean