一)獲取螢幕解析度
在cab安裝過程中,可以利用setupdll來做一些初始化的工作,極大的方便了我們的開發。
但是在setupdll中使用getsystemmetrics函式
獲取螢幕解析度的時候,出現了問題。640x480的解析度取出來成了320x240,800x480成了400x240...真是奇了怪了。
原因也解釋不清楚了,據說setupdll是被wceload.exe所載入的,而wceloade.exe沒有能力去獲取解析度...
不管了,只好另外做一exe程式,來被setupdll呼叫。
在install_exit中加入:
process_information info;
createprocess(l"//program files//getmetricstest.exe", null, null, null, null, 0, null, null, null, &info);
waitforsingleobject(info.hprocess, infinite);//等待程序結束
getmetricstest.exe程式用於獲取螢幕解析度,可將獲得的引數儲存在登錄檔或臨時檔案中,再由setupdll來處理這些引數。
二)獲取安裝包名稱
在cab安裝過程中,一般會出現「正在安裝某某.cab...」字樣,取得「正在安裝」和「.cab」之間的值就達到我們的目的了。
首先利用setupdll是必須的,然後在install_exit來做動作,此時會傳入hwndparent引數,利用這個引數來折騰一下:
tchar scabname[256];
hwnd hdlg = getwindow( hwndparent, gw_child|gw_hwndfirst );
uint uctrlid = getdlgctrlid( hdlg );
getdlgitemtext( hwndparent, uctrlid, scabname, 256);
scabname正是"某某.cab..."或"某某.cab..."。
Redis在windows下安裝過程
二 安裝redis zip形式 2 啟動命令 redis server redis.windows.conf,出現下圖顯示表示啟動成功了。如果報錯 redis啟動出錯creating server tcp listening socket 127.0.0.1 6379 bind no error 參...
Redis在windows下安裝過程
二 安裝redis 2 啟動命令 redis server redis.windows.conf,出現下圖顯示表示啟動成功了。三 設定redis服務 1 由於上面雖然啟動了redis,但是只要一關閉cmd視窗,redis就會消失。所以要把redis設定成windows下的服務。也就是設定到這裡,首先...
Redis在windows下安裝過程
二 安裝redis 2 啟動命令 redis server redis.windows.conf,出現下圖顯示表示啟動成功了。三 設定redis服務 1 由於上面雖然啟動了redis,但是只要一關閉cmd視窗,redis就會消失。所以要把redis設定成windows下的服務。也就是設定到這裡,首先...