# 2011/6/15修正2 平沼(99yen)
●RegOpenKeyEx(hKey,lpSubKey,ulOptions,samDesired,phkResult) =DLL("advapi32.dll",
"LONG RegOpenKeyExA(
HKEY hKey, // 開いている親キーのハンドル
LPCTSTR lpSubKey, // 開くべきサブキーの名前
DWORD ulOptions, // 予約済み
DWORD samDesired, // セキュリティアクセスマスク
PHKEY hKeyA // 開くことに成功したサブキーのハンドル
)")
●RegEnumValue(hKey,dwIndex,{参照渡し}pValueName,pcbValueName,pReserved,pType,{参照渡し}pData,pcbData) =DLL("advapi32.dll",
"LONG RegEnumValueA(
HKEY hKey, // キーのハンドル
DWORD dwIndex, // 値のインデックス
PTSTR pValueName, // 値の名前を格納するバッファ
PDWORD pcbValueName, // lpValueNameのサイズを入れた変数
PDWORD pReserved, // 予約(NULLを指定)
PTSTR pType, // 値のタイプを格納するバッファ
PBYTE pData, // 値のデータを格納するバッファ
PDWORD pcbData // lpDataのサイズを入れた変数
)")
●RegCloseKey(hKey) =DLL("advapi32.dll",
"LONG RegCloseKey(
HKEY hKey
)")
RegEnumHndとは整数
RegSubkeyHndとは整数
Mとは配列
Nとは整数=0
RETとは整数
PR_NAMEとは配列
NET_PRとは配列
LOCAL_PRとは配列
// バッファサイズ定義
!BUF_SIZE = 256
// レジストリ用定数
!ERROR_SUCCESS = 0
!KEY_ALL_ACCESS = $000F003F
!KEY_READ = $20019
!HKEY_CURRENT_USER = $80000001 // 追加
!HKEY_LOCAL_MACHINE = $80000002
!ERROR_NO_MORE_ITEMS = $103
!ERROR_MORE_DATA = $EA
// サブキー列挙用
VALUE_SIZEとは整数 = BUF_SIZE
VALUE_BUFとは文字列
VALUE_BUFにBUF_SIZEを確保
VALUEとは文字列
// サブキー用
KEY_SIZEとは整数 = BUF_SIZE
KEY_BUFとは文字列
KEY_BUFにBUF_SIZEを確保
KEYとは文字列
// キーを開く
RegOpenKeyEx(HKEY_CURRENT_USER,`Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts`,0,KEY_READ,POINTER(RegEnumHnd))
オンの間
KEY_SIZE = BUF_SIZE
VALUE_SIZE = BUF_SIZE
// 値を一つ取得
RET = RegEnumValue(RegEnumHnd, N, KEY_BUF, POINTER(KEY_SIZE), 0, 0, VALUE_BUF, POINTER(VALUE_SIZE))
// サブキーがこれ以上なければ終わる
もし、RET != ERROR_SUCCESSならば
抜ける
N=N+1
// 値を表示
KEY=KEY_BUFから(KEY_SIZE)バイト左部分
VALUE=VALUE_BUFから(VALUE_SIZE)バイト左部分
PR_NAMEにKEYを配列追加
# KEYを表示
# VALUEを表示
RegCloseKey(RegEnumHnd)
#■プリンタを分離抽出する。■
PR_NAMEを反復
((対象の2バイト左部分)=『\\』)ならば
NET_PRに対象を配列追加//ネットワークプリンタ
違えば
LOCAL_PRに対象を配列追加//ローカルプリンタ
終わる。
RegEnumValue(A)
なでしこでWindowsAPIを使う時の書式を各API毎にソースを載せています。
ページ移動
- はじめての方へ
- ↳ 最初に読んで下さい。
- なでしこ関連
- ↳ デラックス版フォーラム
- ↳ WindowsAPI
- ↳ RDB関連フォーラム
- ↳ Oracle
- ↳ SQL Server
- ↳ MySQL
- ↳ PostgreSQL
- ↳ SQLite3
- ↳ Firebird
- ↳ Access
- ↳ プログラムサンプル
- SQLite Easy Viewer
- ↳ SEVサポート掲示板
- ↳ ベータ版プログラム
- ↳ 安定版プログラム
- ↳ Manual
- BackupFD
- ↳ BackupFDサポート掲示板
- ↳ ベータ版プログラム
- ↳ 安定版プログラム
- ↳ Manual
- AIPO
- ↳ Aipo5フォーラム
- ↳ Aipo6フォーラム
- ↳ Aipo7フォーラム
- ↳ Aipo8フォーラム
- Wordpress
- ↳ WordPressフォーラム
- 外部コラボレーション
- ↳ 粗茶の部屋
- ECCube
- ↳ 2.11.5
- ↳ インストール
- ↳ カスタマイズ
- Coreserver
- ↳ SSH
- ↳ Perl
- ↳ Pear
- パスワード作成アプリくん
- ↳ ベータ版プログラム
- ↳ Manual
- ファイルの中身を検索くん
- ↳ 最新プログラム