水無瀬の部屋 > Programming > sample > goddess > install.h |
---|
1: //*********************************************************
2: // プロジェクト: exe2ico
3: // ファイル名: install.h
4: //*********************************************************
5: #ifndef INSTALL_HEAD_INCLUDED
6: #define INSTALL_HEAD_INCLUDED
7:
8:
9: //*********************************************************
10: // ヘッダ の インクルード
11: //*********************************************************
12: #ifndef TOOLS_HEAD_INCLUDED // 冗長ガード
13: #include <tools.h>
14: #ifndef TOOLS_HEAD_INCLUDED // ガード名の検査
15: #error "? TOOLS_HEAD_INCLUDED"
16: #endif // #ifndef TOOLS_HEAD_INCLUDED
17: #endif // #ifndef TOOLS_HEAD_INCLUDED
18:
19:
20: //*********************************************************
21: // マクロ定数 の 定義
22: //*********************************************************
23: //
24: #define MAX_CMDLINE ( 1024 )
25:
26: // install_t::flags
27: #define ID_OFFSET ( 1000 ) // ID と配列の index を混同させたくない
28: #define ID_CENTER ( (id_t)( 0 + ID_OFFSET ) )
29: #define ID_TILE ( (id_t)( 1 + ID_OFFSET ) )
30: #define ID_ZOOM ( (id_t)( 2 + ID_OFFSET ) )
31: #define ID_MIN ( (id_t)min( ((size_t)ID_CENTER), ((size_t)ID_ZOOM)) )
32: #define ID_MAX ( (id_t)max( ((size_t)ID_CENTER), ((size_t)ID_ZOOM)) )
33: #define ID_INDEX( id ) ( ((size_t)static_cast<id_t>(id)) - ID_OFFSET )
34: #define IS_VALID_ID( id ) ( (((size_t)ID_MIN) <= ((size_t)static_cast<id_t>(id))) && (((size_t)static_cast<id_t>(id)) <= ((size_t)ID_MAX)) )
35: #define IS_VALID_INDEX( idx ) ( (0 <= (idx)) && ((idx) < numof( ((install_t *)null)->reg )) )
36: //
37: #define INSTALL_CENTER ( (DWORD)BIT( ID_INDEX( ID_CENTER ) ) )
38: #define INSTALL_TILE ( (DWORD)BIT( ID_INDEX( ID_TILE ) ) )
39: #define INSTALL_ZOOM ( (DWORD)BIT( ID_INDEX( ID_ZOOM ) ) )
40:
41:
42: //*********************************************************
43: // 構造体 の 宣言
44: //*********************************************************
45: // enum だと配列の添字に使えてしまう
46: typedef const struct id_tag { void *dummy; } *id_t;
47:
48: // relation_t
49: typedef struct relation_tag
50: {
51: char regpath[ 1+MAX_REGPATH_BUF ];
52: char menu[ 1+MAX_MENUTEXTLENGTH ];
53: char cmdline[ 1+MAX_CMDLINE ];
54: } relation_t;
55:
56: // install_t
57: typedef struct install_tag
58: {
59: DWORD flags; // 関連づけ
60:
61: // reg[ ID_INDEX( ID_LNK ) ] に *.lnk の情報
62: relation_t reg[ ID_INDEX(ID_MAX) - ID_INDEX(ID_MIN) + 1 ]; //
63: } install_t;
64:
65:
66: //*********************************************************
67: // 関数 の 宣言
68: //*********************************************************
69: #ifdef __cplusplus
70: extern "C" {
71: #endif
72:
73:
74: // install.cpp
75: bool IsValidInstallInfo( const install_t *info );
76: bool LoadInstallInfo( install_t *info );
77: bool SaveInstallInfo( const install_t *info, DWORD mask );
78: DWORD GetModifiedFlags( const install_t *a, const install_t *b );
79:
80:
81: #ifdef __cplusplus
82: } // extern "C"
83: #endif
84:
85:
86: #endif // #ifndef INSTALL_HEAD_INCLUDED
87:
88:
89: //** end **
参照:
install.cpp, instdlg.cpp
水無瀬の部屋 > sample > goddess > install.h |
---|
このページは cpp2web が出力しました。
水無瀬 優 postmaster@katsura-kotonoha.sakura.ne.jp
http://katsura-kotonoha.sakura.ne.jp/prog/code/goddess/install_h.shtml
>> Amazon.co.jp 『たまゆら童子』 へ
>> 楽天ブックス 『たまゆら童子』 へ