青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

S.l.e!ep.¢%

像打了激速一樣,以四倍的速度運轉,開心的工作
簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

Call API in InstallShield 2009

Posted on 2009-03-24 08:50 S.l.e!ep.¢% 閱讀(1706) 評論(0)  編輯 收藏 引用 所屬分類: InstallShield
Data Type in InstallShield?? And Win32API Data Type

BOOL TRUE or FALSE
CHAR 8-bit 有符號字符
DWORD 同NUMBER
HWND 窗口句柄(內部類型是NUMBER)
INT 同NUMBER
LIST 指向InstallShield list的指針(內部類型是NUMBER)
LONG 同NUMBER
LPSTR 同POINTER
NUMBER 有符號4字節整數
POINTER 指向數據的指針(如int i;p=&i)
SHORT 同NUMBER
STRING 字符串

Call API? For Example

prototype KERNEL32.GetVolumeInformation(BYREF STRING, BYREF STRING, NUMBER, BYREF NUMBER, BYREF NUMBER, BYREF NUMBER, BYREF STRING, NUMBER);?

附加一篇不錯的文章

installshield安裝程序,包括Mysql初始化、安裝jre、配置環境變量、簡單注冊碼生成

C代碼 復制代碼
  1. 曾經使用installshield制作的安裝程序,包括Mysql初始化、安裝jre、配置環境變量、簡單注冊碼生成。??
C代碼 復制代碼
  1. //////////////////////////////////////////////////////////////////////////////// ??
  2. //??????????????????????????????????????????????????????????????????????????? ??
  3. //??File?Name:?Setup.rul?????????????????????????????????????????????????? ??
  4. //??????????????????????????????????????????????????????????????????????????? ??
  5. //??Description:?InstallShield?script??????????????????????????????????????? ??
  6. //??????????????????????????????????????????????????????????????????????????? ??
  7. //??Comments:?This?script?was?generated?based?on?the?selections?you?made?in ??
  8. //????????????the?Project?Wizard.??Refer?to?the?help?topic?entitled?"Modify????? ??
  9. //????????????the?script?that?the?Project?Wizard?generates"?for?information ??
  10. //????on?possible?next?steps. ??
  11. // ??
  12. /////////////////////////////////////////////an/////////////////////////////////// ??
  13. ??
  14. //?Include?header?files ??
  15. ??? ??
  16. #include?"ifx.h" ??
  17. ??? ??
  18. //////////////////////?string?defines?//////////////////////////// ??
  19. ////////////////////?installation?declarations?/////////////////// ??
  20. //?-----?DLL?function?prototypes?----- ??
  21. ??
  22. ????//?your?DLL?function?prototypes ??
  23. ??
  24. //?----?script?function?prototypes?----- ??
  25. ??
  26. ????//?your?script?function?prototypes ??
  27. ????//?your?global?variables ??
  28. ? ??
  29. NUMBER?volumeNum; ??
  30. //Before?using?the?GetVolumeInformation?API?you?will?need?to?prototype?it ??
  31. prototype?KERNEL32.GetVolumeInformation(BYREF?STRING,?BYREF?STRING,?NUMBER,?BYREF?NUMBER,?BYREF?NUMBER,?BYREF?NUMBER,?BYREF?STRING,?NUMBER); ??
  32. //prototype?for?the?custom?InstallScript?function ??
  33. prototype?GetVolumeSerial(); ??
  34. //function?definition ??
  35. function?GetVolumeSerial() ??
  36. STRING?lpRootPathName; ??
  37. STRING?lpVolumeNameBuffer; ??
  38. NUMBER?nVolumeNameSize; ??
  39. NUMBER?lpVolumeSerialNumber; ??
  40. NUMBER?lpMaximumComponentLength; ??
  41. NUMBER?lpFileSystemFlags; ??
  42. STRING?lpFileSystemNameBuffer; ??
  43. NUMBER?nFileSystemNameSize; ??
  44. BOOL?APIReturn; ??
  45. begin ??
  46. ??lpRootPathName="d:\\"; ??
  47. ??nVolumeNameSize=60; ??
  48. ??nFileSystemNameSize=60; ??
  49. ??//APIReturn=GetVolumeInformation(lpRootPathName,?lpVolumeNameBuffer,?nVolumeNameSize,???lpVolumeSerialNumber,?lpMaximumComponentLength,?lpFileSystemFlags,?lpFileSystemNameBuffer,?nFileSystemNameSize); ??
  50. ??APIReturn=GetVolumeInformation(lpRootPathName,?lpVolumeNameBuffer,?nVolumeNameSize,???lpVolumeSerialNumber,?lpMaximumComponentLength,?lpFileSystemFlags,?lpFileSystemNameBuffer,?nFileSystemNameSize); ??
  51. ? ??
  52. ? ??
  53. ??if?(APIReturn)?then???????? ??
  54. ? ??
  55. ???volumeNum?=?lpVolumeSerialNumber?;? ??
  56. ???if?(volumeNum?<?0)?then ??
  57. ????volumeNum?=?0?-?volumeNum; ??
  58. ???endif;????? ??
  59. ???//NumToStr(volumeNum,lpVolumeSerialNumber); ??
  60. ????//SprintfBox(INFORMATION,?"",?"Volume=?%s\nVolume?Serial=?%d",?lpRootPathName,?lpVolumeSerialNumber); ??
  61. ???if?(volumeNum?>?2139999999?-?135792468)?then??????? ??
  62. ? ??
  63. ????//volumeNum?=?123456789; ??
  64. ????volumeNum?=?volumeNum?-?volumeNum/100000000*100000000; ??
  65. ???endif;????? ??
  66. ??? ??
  67. ??else???????????????????? ??
  68. ? ??
  69. ?????volumeNum?=?123456789; ??
  70. ????//MessageBox("Failure.",0); ??
  71. ??endif; ??
  72. end?; ??
  73. prototype?getNumString(); ??
  74. function?getNumString() ??
  75. ??number?numSpace; ??
  76. ??number?numMen; ??
  77. ??string?tmpString; ??
  78. begin???????????????????????????????????????? ??
  79. ?????//tmpNum?=?GetWindowHandle(HWND_INSTALL);??//安裝主窗口的句柄? ??
  80. ?????//numSpace?=?GetDiskSpace("c:\\");?//指定驅動器上的空閑磁盤空間? ??
  81. ?????numSpace?=?GetDiskSpaceEx("c:\\",KBYTES);?//指定驅動器上的空閑磁盤空間????????BYTES? ??
  82. ?????//numMen?=?GetMemFree();??//運行在Microsoft?Windows下的一個應用程序可用的內存大小???? ??
  83. ?????numMen?=?GetDiskSpaceEx("d:\\",KBYTES); ??
  84. ?????if?numSpace?<?10000?then ??
  85. ????????numSpace?=?11360000; ??
  86. ?????else??
  87. ??????numSpace?=?(numSpace?-?numSpace/10000*10000)*10000; ??
  88. ?????endif; ??
  89. ?????if?numMen?<?10000?then ??
  90. ????????numMen?=?7521;?? ??
  91. ?????else??
  92. ??????numMen?=?numMen?-?numMen/10000*10000; ??
  93. ?????endif;?????????????????????????????????????????????????? ??
  94. ?????volumeNum?=?100000000?+?numSpace?+?numMen;? ??
  95. ???? ??
  96. ?????//NumToStr(tmpString,volumeNum);????? ??
  97. ????//?MessageBox(tmpString,0);???????????????????????????? ??
  98. end;?? ??
  99. ? ??
  100. ? ??
  101. ? ??
  102. ////////////////////////////////////////////////////////////////////////////// ??
  103. //?????????????????????????????????????????????????????????????????????????? ??
  104. //??FUNCTION:???OnFirstUIBefore??????????????????????????????????????????? ??
  105. //?????????????????????????????????????????????????????????????????????????? ??
  106. //??EVENT:??????FirstUIBefore?event?is?sent?when?installation?is?run?for?the?first ??
  107. //??????????????time?on?given?machine.?In?the?handler?installation?usually?displays ??
  108. //??????????????UI?allowing?end?user?to?specify?installation?parameters.?After?this ??
  109. //??????????????function?returns,?ComponentTransferData?is?called?to?perform?file ??
  110. //??????????????transfer. ??
  111. //?????????????????????????????????????????????????????????????????????????? ??
  112. /////////////////////////////////////////////////////////////////////////////// ??
  113. function?OnFirstUIBefore() ??
  114. ????number??nResult,nSetupType; ??
  115. ????string??szTitle,?szMsg; ??
  116. ????string??szLicenseFile,?szQuestion; ??
  117. ????string??szName,?szCompany,?szSerial; ??
  118. ????string??szFile; ??
  119. ????string??szTargetPath; ??
  120. ????string??szDir; ??
  121. ????string??szfolder; ??
  122. ????string??szComponents,?szTargetdir; ??
  123. ????number??nLevel; ??
  124. ????LIST????listStartCopy; ??
  125. ????LIST????list; ??
  126. ????number??nvSize;???? ??
  127. ??? ??
  128. ????string?szField1,?svEdit1,szField2,?svEdit2; ??
  129. ????????????????????? ??
  130. ????string?localNum;?? ??
  131. ????number?tmpNum;????? ??
  132. ????string?tmpCheckString; ??
  133. ????string?checkString; ??
  134. begin? ??
  135. ????//?TO?DO:?if?you?want?to?enable?background,?window?title,?and?caption?bar?title???????????????????????????????????????????????????????????????????? ??
  136. ????//?SetTitle(?@TITLE_MAIN,?24,?WHITE?);??????????????????????????????????????? ??
  137. ????//?SetTitle(?@TITLE_CAPTIONBAR,?0,?BACKGROUNDCAPTION?);???????????????????? ??
  138. ????//?Enable(?FULLWINDOWMODE?);???????? ??
  139. ????//?Enable(?BACKGROUND?);???????? ??
  140. ????//?SetColor(BACKGROUND,RGB?(0,?128,?128));??????? ??
  141. ?????????? ??
  142. ????GetVolumeSerial();???????????????????? ??
  143. ????//getNumString(); ??
  144. ??? ??
  145. ????tmpNum?=??volumeNum;????????????? ??
  146. ????tmpNum?=?tmpNum?-?tmpNum?/?100?*?100;?? ??
  147. ????NumToStr(tmpCheckString,tmpNum);???? ??
  148. ????if?(tmpCheckString?==?"0")?then ??
  149. ??????tmpCheckString?=?"0X"; ??
  150. ????endif; ??
  151. ????checkString?=?"B"?+?tmpCheckString?+?"_";????? ??
  152. ??? ??
  153. ????tmpNum?=??volumeNum?/?100;????????????? ??
  154. ????tmpNum?=?tmpNum?-?tmpNum?/?100?*?100;?? ??
  155. ????NumToStr(tmpCheckString,tmpNum);??? ??
  156. ????if?(tmpCheckString?==?"0")?then ??
  157. ??????tmpCheckString?=?"0X"; ??
  158. ????endif; ??
  159. ????checkString?=?checkString?+?"K"?+?tmpCheckString?+?"_"; ??
  160. ??? ??
  161. ????tmpNum?=??volumeNum?/?10000;????????????? ??
  162. ????tmpNum?=?tmpNum?-?tmpNum?/?100?*?100;?? ??
  163. ????NumToStr(tmpCheckString,tmpNum);?? ??
  164. ????if?(tmpCheckString?==?"0")?then ??
  165. ??????tmpCheckString?=?"0X"; ??
  166. ????endif; ??
  167. ????checkString?=?checkString?+?"X"?+?tmpCheckString?+?"_"; ??
  168. ??? ??
  169. ????tmpNum?=??volumeNum?/?1000000;????????????? ??
  170. ????tmpNum?=?tmpNum?-?tmpNum?/?100?*?100;?? ??
  171. ????NumToStr(tmpCheckString,tmpNum); ??
  172. ????if?(tmpCheckString?==?"0")?then ??
  173. ??????tmpCheckString?=?"0X"; ??
  174. ????endif;? ??
  175. ????checkString?=?checkString?+?"T"?+?tmpCheckString; ??
  176. ??????????????????????????????????????????????????? ??
  177. ????//MessageBox(checkString,INFORMATION);? ??
  178. ?????? ??
  179. ????//變換volumeNum的值 ??
  180. ????//B3242_K423_X342_T3423??? ??
  181. ????volumeNum?=?volumeNum?+?135792468;??????????? ??
  182. ????NumToStr(localNum,volumeNum);??????????????????????????????????????????????????? ??
  183. ????//MessageBox(localNum,INFORMATION); ??
  184. ??? ??
  185. ???????????????????????? ??
  186. ????//copy?images????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ??
  187. ???nResult?=?XCopyFile(SRCDIR?^?"xxx\\icons\\media\\*.gif",?"c:\\xxx\\icons\\media\\",EXCLUDE_SUBDIR);????????????????????????????????????????????????????????????????????????????????????????????????? ??
  188. ???nResult?=?XCopyFile(SRCDIR?^?"xxx\\icons\\teacher\\*.jpg",?"c:\\xxx\\icons\\teacher\\",EXCLUDE_SUBDIR);??? ??
  189. ???CreateDir("c:\\xxx\\resc\\");?????????????????????? ??
  190. ???????? ??
  191. ???if?(nResult?!=?0)?then??????? ??
  192. ?????????MessageBox?("圖片拷貝出錯!",?SEVERE); ??
  193. ???endif; ??
  194. ??? ??
  195. ??????? ??
  196. ??????? ??
  197. ??????? ??
  198. ??????? ??
  199. ?????? ??
  200. ?????? ??
  201. ?????? ??
  202. ????nSetupType?=?TYPICAL;? ??
  203. ????TARGETDIR?=?PROGRAMFILES?^@COMPANY_NAME?^@PRODUCT_NAME;? ??
  204. ????szDir?=?TARGETDIR; ??
  205. ????SHELL_OBJECT_FOLDER?=?@FOLDER_NAME; ??
  206. ????szName????=?""; ??
  207. ????szCompany?=?""; ??
  208. ????szSerial?=?""; ??
  209. Dlg_Start: ??
  210. ????//?beginning?of?dialogs?label ??
  211. Dlg_SdWelcome: ??
  212. ????szTitle?=?"xxxx系統"; ??
  213. ????szMsg???=?"??確定是否繼續安裝?繼續請按【下一步(next)】"; ??
  214. ????nResult?=?SdWelcome(?szTitle,?szMsg?); ??
  215. ????if?(nResult?=?BACK)?goto?Dlg_Start; ??
  216. //Dlg_SdLicense: ??
  217. //????szLicenseFile?=?SUPPORTDIR?^?"license.txt"; ??
  218. //????szTitle????=?"xxxx系統"; ??
  219. //????szMsg??????=?"許可協議"; ??
  220. //????szQuestion?=?"您是否接受該協議?接受請按【是(Yes)】。繼續安裝必須接受該協議。"; ??
  221. //????nResult????=?SdLicense(?szTitle,?szMsg,?szQuestion,?szLicenseFile?); ??
  222. //????if?(nResult?=?BACK)?goto?Dlg_SdWelcome; ??
  223. Dlg_SdShowInfoList:????? ??
  224. ????//szFile?=?SUPPORTDIR?^?"infolist.txt"; ??
  225. ????//list?=?ListCreate(?STRINGLIST?); ??
  226. ????//ListReadFromFile(?list,?szFile?); ??
  227. ????szTitle?=?"系統本地編號"; ??
  228. ????szMsg????=?"將下面的本地編號發送給權限授予機構,在接收到相應的注冊碼后,您將進行繼續注冊!";????? ??
  229. ????szField1?=?"編號"; ??
  230. ????svEdit1?=?localNum; ??
  231. ????//nResult??=?SdShowInfoList(?szTitle,?szMsg,?list?);? ??
  232. ????//ListDestroy(?list?);???? ??
  233. ????nResult?=?SdShowDlgEdit1(szTitle,?szMsg,szField1,?svEdit1);??????? ??
  234. ????//if?(nResult?=?BACK)?goto?Dlg_SdLicense; ??
  235. ????if?(nResult?=?BACK)?goto?Dlg_SdWelcome; ??
  236. Dlg_SdRegisterUserEx: ??
  237. ????szMsg???=?"請輸入:用戶名、公司名和注冊號"; ??
  238. ????szTitle?=?"xxxx系統";?????? ??
  239. ????nResult?=?SdRegisterUserEx(?szTitle,?szMsg,?szName,?szCompany,?szSerial?); ??
  240. ????if?(nResult?=?BACK)?goto?Dlg_SdShowInfoList; ??
  241. ????if?(szSerial?!=?checkString)??then????? ??
  242. ????????MessageBox(?"注冊碼輸入錯誤!",?SEVERE); ??
  243. ???????goto?Dlg_SdRegisterUserEx;???? ??
  244. ????endif; ??
  245. ?????????????????????? ??
  246. Dlg_SdShowDlgEdit2: ??
  247. ????szTitle?=?"數據庫信息"; ??
  248. ????szMsg????=?"請輸入數據庫用戶名和數據庫密碼:";?????? ??
  249. ????szField1?=?"用戶名"; ??
  250. ????szField2?=?"密碼"; ??
  251. ????svEdit1?=?"root"; ??
  252. ????svEdit2?=?"password";????? ??
  253. ????nResult?=?SdShowDlgEdit2(szTitle,?szMsg,szField1,szField2,?svEdit1,svEdit2);? ??
  254. ????if?(nResult?=?BACK)?goto?Dlg_SdRegisterUserEx; ??
  255. ?//SdShowMsg?("下面進行數據庫初始化操作,請勿手動關閉彈出窗口!",?TRUE); ??
  256. ?//Delay(2); ??
  257. ? ??
  258. ??? ??
  259. ???//啟動mysql????????????????????????????????? ??
  260. ???LaunchAppAndWait("net","start?mysql",WAIT); ??
  261. ???//LaunchAppAndWait("net","stop?mysql",WAIT);? ??
  262. ???//LaunchAppAndWait("C:\\Program?Files\\MySQL\\MySQL?Server?4.1\\bin\\mysql.exe","?-uroot?-ppassword<"?+?SRCDIR?^?"test.sql",NOWAIT); ??
  263. ??//?LaunchAppAndWait("C:\\Program?Files\\MySQL\\MySQL?Server?4.1\\bin\\mysql.exe","?-h?localhost??-u?root???-p?password<"?+?SRCDIR?^?"test.sql",WAIT)?; ??
  264. ???//LaunchApp(WINDIR?^?"Notepad.exe",SRCDIR?^?"init.sql");? ??
  265. ???//LaunchAppAndWait(SRCDIR?^?"sql.bat","?root?password?",WAIT);? ??
  266. ???///LaunchAppAndWait("C:\\Program?Files\\MySQL\\MySQL?Server?4.1\\bin\\mysql.exe?","mysql??-uroot?-ppassword<"?+?SRCDIR?^?"test.sql",NOWAIT); ??
  267. ??????????????????????????????????????????????????????????????????????????? ??
  268. ????nResult?=?XCopyFile(SRCDIR?+?"\\sql.bat","c:\\xxx\\",EXCLUDE_SUBDIR);??? ??
  269. ????nResult?=?XCopyFile(SRCDIR?+?"\\init.sql","c:\\xxx\\",EXCLUDE_SUBDIR);???? ??
  270. ?//if?(LaunchAppAndWait(SRCDIR?+?"\\sql.bat",?"?root?password",WAIT)?<?0)?then ??
  271. ??//MessageBox?("數據庫創建失敗!請確您的系統中已安裝MySQL?4.1.19.\n如仍無法解決,請聯系系統供應商!",SEVERE); ??
  272. ?//endif;?????????? ??
  273. ?????????????????????????????????????????? ??
  274. ?//NumToStr(tmpCheckString,LaunchAppAndWait("c:\\xxx\\sql.bat",?"?root?password",WAIT));???????????????????????????????????????????????????????????? ??
  275. ?//MessageBox(tmpCheckString,SEVERE);???? ??
  276. ? ??
  277. ?if?(LaunchAppAndWait("c:\\xxx\\sql.bat",?"?"?+?svEdit1?+?"?"?+?svEdit2?+?"?",WAIT)?<?0)?then ??
  278. ??MessageBox?("數據庫創建失敗!請確您的系統中已安裝MySQL?4.1.19.\n如仍無法解決,請聯系系統供應商!",SEVERE); ??
  279. ?endif;?? ??
  280. ????//DeleteDir("c:\\xxx\\",ALLCONTENTS);?//刪除這個臨時目錄????????? ??
  281. ????DeleteFile("c:\\xxx\\sql.bat"); ??
  282. ????DeleteFile("c:\\xxx\\init.sql"); ??
  283. ??? ??
  284. ??? ??
  285. ??? ??
  286. Dlg_SdAskDestPath: ??
  287. ????szTitle?=?"xxxx系統"; ??
  288. ????szMsg???=?"請選擇安裝目錄"; ??
  289. ????nResult?=?SdAskDestPath(?szTitle,?szMsg,?szDir,?0?); ??
  290. ????TARGETDIR?=?szDir;???????????????????????????????? ??
  291. ????//if?(nResult?=?BACK)?goto?Dlg_SdRegisterUserEx; ??
  292. ????if?(nResult?=?BACK)?goto?Dlg_SdShowDlgEdit2; ??
  293. ? ??
  294. Dlg_SetupType:?? ??
  295. ????szTitle????=?"xxxx系統"; ??
  296. ????szMsg??????=??"請選擇安裝類型"; ??
  297. ????nResult?=?SetupType?(?szTitle?,?szMsg?,?""?,?nSetupType?,?0?); ??
  298. ????if?(nResult?=?BACK)?then ??
  299. ????????goto?Dlg_SdAskDestPath; ??
  300. ????else??
  301. ????????nSetupType?=?nResult; ??
  302. ????????if?(nSetupType?!=?CUSTOM)?then ??
  303. ????????szTargetPath?=?TARGETDIR; ??
  304. ????????nvSize?=?0; ??
  305. ????????ComponentCompareSizeRequired(MEDIA,szTargetPath,nvSize); ??
  306. ????????if?(nvSize?!=?0)?then????? ??
  307. ????????????????MessageBox(?szSdStr_NotEnoughSpace,?WARNING?); ??
  308. ????????????goto?Dlg_SetupType; ??
  309. ????????????endif; ??
  310. ????????endif;?? ??
  311. ????endif; ??
  312. Dlg_SdComponentTree: ??
  313. ????if?((nResult?=?BACK)?&&?(nSetupType?!=?CUSTOM))?goto?Dlg_SetupType; ??
  314. ????szTitle????=?"xxxx系統"; ??
  315. ????szMsg??????=?""; ??
  316. ????szTargetdir?=?TARGETDIR; ??
  317. ????szComponents?=?""; ??
  318. ????nLevel?=?2; ??
  319. ????if?(nSetupType?=?CUSTOM)?then ??
  320. ??????nResult?=?SdComponentTree(szTitle,?szMsg,?szTargetdir,?szComponents,?nLevel); ??
  321. ??????if?(nResult?=?BACK)?goto?Dlg_SetupType;? ??
  322. ????endif; ??
  323. Dlg_ObjDialogs: ??
  324. ????nResult?=?ShowObjWizardPages(nResult); ??
  325. ????if?(nResult?=?BACK)?goto?Dlg_SdComponentTree; ??
  326. ??? ??
  327. Dlg_SdSelectFolder: ??
  328. ????szfolder?=?SHELL_OBJECT_FOLDER; ??
  329. ????szTitle????=?"xxxx系統"; ??
  330. ????szMsg??????=?""; ??
  331. ????nResult????=?SdSelectFolder(?szTitle,?szMsg,?szfolder?); ??
  332. ????SHELL_OBJECT_FOLDER?=?szfolder; ??
  333. ????if?(nResult?=?BACK)?goto?Dlg_ObjDialogs; ??
  334. ? ??
  335. Dlg_SdStartCopy: ??
  336. ????szTitle?=?"xxxx系統"; ??
  337. ????szMsg???=?"安裝信息收集完畢,并且獲得安裝權限,下一步將進行文件拷貝。"; ??
  338. ????listStartCopy?=?ListCreate(?STRINGLIST?); ??
  339. ????//The?following?is?an?example?of?how?to?add?a?string(szName)?to?a?list(listStartCopy). ??
  340. ????//eg.?ListAddString(listStartCopy,szName,AFTER); ??
  341. ????nResult?=?SdStartCopy(?szTitle,?szMsg,?listStartCopy?);? ??
  342. ????ListDestroy(listStartCopy); ??
  343. ????if?(nResult?=?BACK)?goto?Dlg_SdSelectFolder; ??
  344. ????//?setup?default?status ??
  345. ????SetStatusWindow(0,?""); ??
  346. ????Enable(STATUSEX); ??
  347. ????StatusUpdate(ON,?100); ??
  348. ????return?0; ??
  349. end; ??
  350. /////////////////////////////////////////////////////////////////////////////// ??
  351. // ??
  352. //??FUNCTION:???OnMoving ??
  353. // ??
  354. //??EVENT:??????Moving?event?is?sent?when?file?transfer?is?started?as?a?result?of ??
  355. //??????????????ComponentTransferData?call,?before?any?file?transfer?operations ??
  356. //??????????????are?performed. ??
  357. // ??
  358. /////////////////////////////////////////////////////////////////////////////// ??
  359. function?OnMoving() ??
  360. ????string?szAppPath; ??
  361. begin ??
  362. ????//?Set?LOGO?Compliance?Application?Path ??
  363. ????//?TO?DO?:?if?your?application?.exe?is?in?a?subfolder?of?TARGETDIR?then?add?subfolder ??
  364. ????szAppPath?=?TARGETDIR; ??
  365. ????RegDBSetItem(REGDB_APPPATH,?szAppPath); ??
  366. ????RegDBSetItem(REGDB_APPPATH_DEFAULT,?szAppPath?^?@PRODUCT_KEY); ??
  367. end; ??
  368. //?---?include?script?file?section?--- ??
  369. function?OnEnd()???????????????????????????????????? ??
  370. //?//string??java_home,?catalina_home,?szKey,?szEnv; ??
  371. //?string??szKey,?szEnv,?svClassPath;?????? ??
  372. //?string?icon_dir,?xml_dir,output_dir; ??
  373. //?number?nRegSize; ??
  374. //?pointer?pEnv; ??
  375. begin?????????????? ??
  376. //??????? ??
  377. //???//catalina_home=TARGETDIR?+?"\\tomcat5.0.30"; ??
  378. //???//java_home=TARGETDIR?+?"\\j2sdk1.4.2_10";??? ??
  379. //???szKey="Environment"; ??
  380. //???RegDBSetDefaultRoot(HKEY_CURRENT_USER);??? ??
  381. //???//RegDBSetKeyValueEx(szKey,"JAVA_HOME",REGDB_STRING,java_home,-1); ??
  382. //???//RegDBSetKeyValueEx(szKey,"CATALINA_HOME",REGDB_STRING,catalina_home,-1); ??
  383. //?? ??
  384. //???//RegDBSetKeyValueEx(szKey,"CLASSPATH",REGDB_STRING,svClassPath,nRegSize);??? ??
  385. //???GetEnvVar?("CLASSPATH",?svClassPath); ??
  386. //???//MessageBox(svClassPath,0); ??
  387. //???svClassPath?=?svClassPath?+?";?"?+?"c:\\xxx\\resc";???? ??
  388. //???//MessageBox(svClassPath,0); ??
  389. //???RegDBSetKeyValueEx(szKey,"CLASSPATH",REGDB_STRING,svClassPath,-1)???; ??
  390. //???szEnv?=?"Environment"; ??
  391. //???pEnv?=?&szEnv;? ??
  392. //???//pEnv?=?AddressString(szEnv);?? ??
  393. //???SendMessage(0xffff,?0x001A?,?0,?pEnv?); ??
  394. //?? ??
  395. //???//MessageBox("sssss",0);?? ??
  396. ??
  397. ??????????????????????????????????????????????? ??
  398. ???XCopyFile(SRCDIR?^?"xxx\\icons\\media\\*.gif",TARGETDIR,EXCLUDE_SUBDIR);? ??
  399. ???XCopyFile(SRCDIR?^?"xxx\\icons\\teacher\\*.jpg",TARGETDIR,EXCLUDE_SUBDIR);?? ??
  400. ???CreateDir(TARGETDIR?^?"resc\\");??? ??
  401. end; ??
  402. ? ??
  403. ? ??
  404. ? ??
  405. ? ??
  406. ? ??
  407. ? ??
  408. ? ??
  409. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ??
  410. ////////////////////////////////////////////////////////////////下面是一些設定tomcat或者jdk的環境變量的代碼/////////////非本系統///////////////// ??
  411. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ??
  412. function?OnEnd()???? ??
  413. string??java_home,?catalina_home,?szKey,?szEnv;?????? ??
  414. string?icon_dir,?xml_dir,output_dir; ??
  415. POINTER?pEnv; ??
  416. begin?????????????? ??
  417. ??catalina_home=TARGETDIR?+?"\\tomcat5.0.30"; ??
  418. ??java_home=TARGETDIR?+?"\\j2sdk1.4.2_10";??? ??
  419. ??szKey="Environment"; ??
  420. ??RegDBSetDefaultRoot(HKEY_CURRENT_USER);??? ??
  421. ??RegDBSetKeyValueEx(szKey,"JAVA_HOME",REGDB_STRING,java_home,-1); ??
  422. ??RegDBSetKeyValueEx(szKey,"CATALINA_HOME",REGDB_STRING,catalina_home,-1); ??
  423. ??szEnv?=?"Environment"; ??
  424. ??pEnv?=?&szEnv; ??
  425. ??SendMessage?(0xffff,?0x001A?,?0,?pEnv?); ??
  426. ? ??
  427. ? ??
  428. ? ??
  429. ???

?

?

?對應的 vb 注冊碼解碼的核心程序(KeyGen.frm)如下:

?

?

C代碼 復制代碼
  1. VERSION?5.00 ??
  2. Begin?VB.Form?keyGen? ??
  3. ???Appearance??????=???0??'Flat ??
  4. ???BackColor???????=???&H80000001& ??
  5. ???BorderStyle?????=???5??'Sizable?ToolWindow ??
  6. ???Caption?????????=???"**系統注冊碼生成器"??
  7. ???ClientHeight????=???1290 ??
  8. ???ClientLeft??????=???60 ??
  9. ???ClientTop???????=???330 ??
  10. ???ClientWidth?????=???4545 ??
  11. ???DrawMode????????=???1??'Blackness ??
  12. ???FillStyle???????=???0??'Solid ??
  13. ???LinkTopic???????=???"Form1"??
  14. ???MaxButton???????=???0???'False ??
  15. ???MinButton???????=???0???'False ??
  16. ???OLEDropMode?????=???1??'Manual ??
  17. ???ScaleHeight?????=???1290 ??
  18. ???ScaleMode???????=???0??'User ??
  19. ???ScaleWidth??????=???4545 ??
  20. ???ShowInTaskbar???=???0???'False ??
  21. ???StartUpPosition?=???1??'所有者中心 ??
  22. ???Begin?VB.CommandButton?genButton? ??
  23. ??????Appearance??????=???0??'Flat ??
  24. ??????BackColor???????=???&H80000001& ??
  25. ??????Caption?????????=???"生成"??
  26. ??????Height??????????=???300 ??
  27. ??????Left????????????=???3480 ??
  28. ??????MaskColor???????=???&H80000001& ??
  29. ??????Style???????????=???1??'Graphical ??
  30. ??????TabIndex????????=???4 ??
  31. ??????Top?????????????=???240 ??
  32. ??????UseMaskColor????=???-1??'True ??
  33. ??????Width???????????=???615 ??
  34. ???End ??
  35. ???Begin?VB.TextBox?snText? ??
  36. ??????Appearance??????=???0??'Flat ??
  37. ??????BackColor???????=???&H80000001& ??
  38. ??????Height??????????=???300 ??
  39. ??????Left????????????=???960 ??
  40. ??????Locked??????????=???-1??'True ??
  41. ??????TabIndex????????=???3 ??
  42. ??????Top?????????????=???720 ??
  43. ??????Width???????????=???3135 ??
  44. ???End ??
  45. ???Begin?VB.TextBox?machineText? ??
  46. ??????Appearance??????=???0??'Flat ??
  47. ??????BackColor???????=???&H80000001& ??
  48. ??????Height??????????=???300 ??
  49. ??????Left????????????=???960 ??
  50. ??????TabIndex????????=???2 ??
  51. ??????Top?????????????=???240 ??
  52. ??????Width???????????=???2295 ??
  53. ???End ??
  54. ???Begin?VB.Label?snLabel? ??
  55. ??????Alignment???????=???2??'Center ??
  56. ??????Appearance??????=???0??'Flat ??
  57. ??????BackColor???????=???&H80000001& ??
  58. ??????BackStyle???????=???0??'Transparent ??
  59. ??????Caption?????????=???"注冊碼"??
  60. ??????ForeColor???????=???&H80000008& ??
  61. ??????Height??????????=???255 ??
  62. ??????Left????????????=???240 ??
  63. ??????TabIndex????????=???1 ??
  64. ??????Top?????????????=???840 ??
  65. ??????Width???????????=???735 ??
  66. ???End ??
  67. ???Begin?VB.Label?machineLabel? ??
  68. ??????Alignment???????=???2??'Center ??
  69. ??????Appearance??????=???0??'Flat ??
  70. ??????BackColor???????=???&H80000001& ??
  71. ??????BackStyle???????=???0??'Transparent ??
  72. ??????Caption?????????=???"機器碼"??
  73. ??????ForeColor???????=???&H80000008& ??
  74. ??????Height??????????=???255 ??
  75. ??????Left????????????=???240 ??
  76. ??????TabIndex????????=???0 ??
  77. ??????Top?????????????=???360 ??
  78. ??????Width???????????=???735 ??
  79. ??????WordWrap????????=???-1??'True ??
  80. ???End ??
  81. End ??
  82. Attribute?VB_Name?=?"keyGen"??
  83. Attribute?VB_GlobalNameSpace?=?False ??
  84. Attribute?VB_Creatable?=?False ??
  85. Attribute?VB_PredeclaredId?=?True ??
  86. Attribute?VB_Exposed?=?False ??
  87. ??
  88. ??
  89. Private?Sub?genButton_Click() ??
  90. ????Dim?distNum?As?Double ??
  91. ????Dim?intTmp?As?Double ??
  92. ????Dim?mid?As?Long ??
  93. ????Dim?strSN?As?String ??
  94. ???? ??
  95. ???? ??
  96. ????If?(VBA.Trim(machineText)?<>?"")?Then ??
  97. ????????If?(IsNumeric(VBA.Trim(machineText))?And?VBA.Trim(machineText)?>?135792468?And?VBA.Trim(machineText)?<?2139999999)?Then ??
  98. ????????????distNum?=?machineText ??
  99. ????????Else ??
  100. ????????????distNum?=?123456789?+?135792468 ??
  101. ????????End?If ??
  102. ????????distNum?=?distNum?-?135792468 ??
  103. ???????? ??
  104. ???????? ??
  105. ????????strSN?=?"B"??
  106. ????????intTmp?=?distNum ??
  107. ????????mid?=?intTmp?-?Fix(intTmp?/?100)?*?100 ??
  108. ????????If?mid?=?0?Then ??
  109. ????????????strSN?=?strSN?+?"0X"??
  110. ????????Else ??
  111. ????????????strSN?=?strSN?+?VBA.Trim(Str(mid)) ??
  112. ????????End?If ??
  113. ????????strSN?=?strSN?+?"_"??
  114. ???????? ??
  115. ???????? ??
  116. ????????strSN?=?strSN?+?"K"??
  117. ????????intTmp?=?Fix(intTmp?/?100) ??
  118. ????????mid?=?intTmp?-?Fix(intTmp?/?100)?*?100 ??
  119. ????????If?mid?=?0?Then ??
  120. ????????????strSN?=?strSN?+?"0X"??
  121. ????????Else ??
  122. ????????????strSN?=?strSN?+?VBA.Trim(Str(mid)) ??
  123. ????????End?If ??
  124. ????????strSN?=?strSN?+?"_"??
  125. ???????? ??
  126. ???????? ??
  127. ????????strSN?=?strSN?+?"X"??
  128. ????????intTmp?=?Fix(intTmp?/?100) ??
  129. ????????mid?=?intTmp?-?Fix(intTmp?/?100)?*?100 ??
  130. ????????If?mid?=?0?Then ??
  131. ????????????strSN?=?strSN?+?"0X"??
  132. ????????Else ??
  133. ????????????strSN?=?strSN?+?VBA.Trim(Str(mid)) ??
  134. ????????End?If ??
  135. ????????strSN?=?strSN?+?"_"??
  136. ???????? ??
  137. ???????? ??
  138. ????????strSN?=?strSN?+?"T"??
  139. ????????intTmp?=?Fix(intTmp?/?100) ??
  140. ????????mid?=?intTmp?-?Fix(intTmp?/?100)?*?100 ??
  141. ????????If?mid?=?0?Then ??
  142. ????????????strSN?=?strSN?+?"0X"??
  143. ????????Else ??
  144. ????????????strSN?=?strSN?+?VBA.Trim(Str(mid)) ??
  145. ????????End?If ??
  146. ???????? ??
  147. ????????snText?=?strSN ??
  148. ???????? ??
  149. ????End?If ??
  150. End?Sub??

?

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美中文字幕视频在线观看| 欧美韩国日本综合| 欧美日韩另类字幕中文| 日韩午夜精品视频| 在线一区亚洲| 国产亚洲人成a一在线v站| 久久最新视频| 欧美极品一区| 欧美在线高清| 久久综合九色综合欧美就去吻| 狠狠色狠狠色综合日日tαg| 蜜臀久久久99精品久久久久久| 欧美成人一区二区在线| 亚洲一区欧美激情| 欧美中文在线观看国产| 亚洲另类黄色| 欧美一二区视频| 日韩一级黄色大片| 亚洲一二三级电影| 亚洲国产国产亚洲一二三| 亚洲乱码精品一二三四区日韩在线| 国产精品久久毛片a| 玖玖综合伊人| 国产精品久久久久久久久久尿 | 亚洲高清在线精品| 日韩视频第一页| 国产综合久久久久影院| 亚洲看片一区| 亚洲福利视频三区| 中文亚洲视频在线| 亚洲国产日韩在线| 午夜精品福利视频| 日韩亚洲欧美成人| 久久男女视频| 久久爱另类一区二区小说| 欧美日韩国语| 欧美国产精品久久| 国产丝袜一区二区| 亚洲最新中文字幕| 亚洲精品视频一区二区三区| 欧美影片第一页| 午夜精品久久久久久99热| 男女视频一区二区| 久久久天天操| 国产美女诱惑一区二区| 亚洲最黄网站| 一区二区视频欧美| 欧美色欧美亚洲另类二区| 老司机午夜精品| 国产精品视频一| 亚洲精品久久视频| 国内精品视频久久| 欧美亚洲视频在线看网址| 亚洲字幕一区二区| 欧美视频导航| 99www免费人成精品| 夜色激情一区二区| 欧美精品久久99久久在免费线| 欧美77777| 亚洲第一视频| 老牛影视一区二区三区| 老司机成人在线视频| 狠狠干综合网| 久久网站热最新地址| 久久五月天婷婷| 激情欧美亚洲| 麻豆freexxxx性91精品| 欧美国产1区2区| 亚洲欧洲在线视频| 欧美福利一区二区三区| 亚洲国产精品久久人人爱蜜臀| 亚洲黄色一区二区三区| 欧美激情一区二区三区不卡| 最新亚洲视频| 亚洲欧美一区二区激情| 国产老女人精品毛片久久| 翔田千里一区二区| 久久免费国产| 亚洲国产综合视频在线观看| 欧美激情综合色| 亚洲私拍自拍| 两个人的视频www国产精品| 亚洲韩国青草视频| 欧美日韩一区三区四区| 亚洲免费视频观看| 麻豆精品视频在线观看视频| 亚洲日本aⅴ片在线观看香蕉| 欧美日韩高清免费| 午夜国产精品视频| 欧美国产日韩一区二区在线观看| 日韩视频在线你懂得| 国产乱码精品| 你懂的网址国产 欧美| 99精品视频免费观看| 久久久国产一区二区| 亚洲精品综合精品自拍| 国产精品日本精品| 狂野欧美性猛交xxxx巴西| 夜夜嗨av一区二区三区中文字幕| 久久精品综合| 亚洲香蕉成视频在线观看 | 久久久久久伊人| 日韩天堂在线视频| 久久网站免费| 午夜国产精品影院在线观看| 在线观看日韩av| 国产精品人成在线观看免费| 久久另类ts人妖一区二区| aⅴ色国产欧美| 欧美激情女人20p| 午夜精品视频网站| 日韩视频精品| 在线观看一区二区视频| 国产精品一区二区在线观看| 欧美精品精品一区| 久久激情五月激情| 亚洲一区二区在线免费观看视频| 国内精品久久久久久久影视麻豆| 亚洲剧情一区二区| 裸体歌舞表演一区二区| 亚洲欧美一区二区三区极速播放| 亚洲乱码一区二区| 韩国一区电影| 国产女人aaa级久久久级| 欧美精品入口| 欧美成人精品一区| 久久九九精品| 欧美综合国产精品久久丁香| 亚洲视频狠狠| 亚洲五月婷婷| 亚洲午夜精品在线| 亚洲四色影视在线观看| 一本色道久久综合狠狠躁的推荐| 亚洲第一精品在线| 免费在线亚洲| 免费不卡在线观看av| 久久综合999| 久久影视三级福利片| 久久久www成人免费无遮挡大片| 亚洲欧美日韩精品综合在线观看| 亚洲网站啪啪| 亚洲一卡二卡三卡四卡五卡| 在线亚洲精品福利网址导航| 一区二区三区毛片| 中文久久乱码一区二区| 亚洲午夜视频在线| 亚洲一区二区在线观看视频| 亚洲一区美女视频在线观看免费| 亚洲午夜精品在线| 亚洲欧美日韩一区二区在线| 亚洲欧美一区二区激情| 久久狠狠亚洲综合| 久色成人在线| 亚洲国产欧美日韩精品| 亚洲精品一级| 亚洲永久字幕| 久久精品一区二区三区四区| 久久亚洲风情| 欧美激情一区二区在线| 国产精品成人午夜| 国产一区二区三区电影在线观看| 激情一区二区三区| 亚洲精品日韩在线观看| 在线视频你懂得一区| 欧美一区二区视频在线| 另类尿喷潮videofree| 欧美激情亚洲| 亚洲视频电影在线| 久久蜜桃资源一区二区老牛| 欧美国产欧美亚洲国产日韩mv天天看完整 | 亚洲国产欧美精品| 亚洲作爱视频| 久久久999精品视频| 欧美国产日韩精品| 国产精品欧美精品| 亚洲国产精品第一区二区三区| 一本久道久久久| 久久久国产91| 99在线精品免费视频九九视| 欧美影院在线| 欧美三区免费完整视频在线观看| 国产一区二区三区高清播放| 亚洲精品护士| 久久成人免费视频| 91久久精品美女高潮| 午夜精品久久久久久久| 欧美α欧美αv大片| 国产精品福利影院| 久久免费高清| 免费欧美网站| 中文久久精品| 男人插女人欧美| 国产欧美一区二区精品忘忧草| 亚洲欧洲精品一区二区三区波多野1战4| 亚洲视频综合在线| 欧美岛国激情| 久久久av水蜜桃| 国产精品视区| 亚洲性线免费观看视频成熟| 亚洲国产mv|