上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
kechange
註冊時間: 2004-12-16 文章: 81
第 1 樓
|
發表於: 星期一 一月 10, 2005 10:19 am 文章主題: 我已經會切換螢幕解析度了.不過切換時頻率都鎖定在60.我有沒有辦法偵測原有的頻率來切換呢? |
|
|
我會切換800*600 到 1024 * 768 的解析度了.
不過切換過去都一直鎖住頻率60....
有沒有辦法偵側使用者原有的頻率.切換過去時一樣保持呢??
麻煩各位先進幫我解答一下..感激不盡.. |
|
回頂端 |
|
 |
horace
註冊時間: 2004-11-25 文章: 36 來自: 新竹
第 2 樓
|
發表於: 星期一 一月 10, 2005 10:38 am 文章主題: |
|
|
可使用 SYSMETRIC() |
|
回頂端 |
|
 |
kechange
註冊時間: 2004-12-16 文章: 81
第 3 樓
|
發表於: 星期一 一月 10, 2005 2:16 pm 文章主題: |
|
|
我試過了...我由SYSMETRIC(1) ....連續試到 SYSMETRIC(35) ...超過就有錯誤訊息了..
由1-35裡..我看不出來那一個是頻率的...鳴鳴鳴...救人哦... |
|
回頂端 |
|
 |
Mibh
註冊時間: 2004-02-21 文章: 19
第 4 樓
|
發表於: 星期一 一月 10, 2005 7:11 pm 文章主題: |
|
|
試試看吧,我已修改過了,只有動到解析度,其他不動
1.偵測原本的解析度的方法
nScreenWidth = SysMetric(1)
nScreenHeight = SysMetric(2)
2.變更解析度的方法
Function ChangeRes
Lparameters tnWidth, tnHeight
Local lcDevMode
lcDevMode = REPLICATE(CHR(0), 156)
Declare INTEGER EnumDisplaySettings IN Win32API STRING lpszDeviceName,;
INTEGER iModeNum, STRING @lpDevMode
Declare INTEGER ChangeDisplaySettings IN Win32API STRING @lpDevMode ,;
INTEGER dwFlags
EnumDisplaySettings(NULL,-1, @lcDevMode)
lcDevMode = STUFF(lcDevMode, 109, 4, LongToStr(tnWidth))
lcDevMode = STUFF(lcDevMode, 113, 4, LongToStr(tnHeight))
ChangeDisplaySettings(@lcDevMode, 0)
Endfunc
Function LongToStr
Lparameters lnLongVal
Local lnCnt, lcRetStr
lcRetStr = ''
For lnCnt = 24 TO 0 STEP -8
lcRetStr = CHR(INT(lnLongVal/(2^lnCnt))) + lcRetStr
lnLongVal = MOD(lnLongVal, (2^lnCnt))
Next
Return lcRetStr
Endfunc
3.使用方法
3.1.先偵測原本的解析度,存入nScreenWidth 及nScreenHeight
3.2.假設解析度變更為1024*768→ChangeRes(1024,768)
3.3.解析度變更回來ChangeRes(nScreenWidth,nScreenHeight )
4.補充說明
4.1.此解析度變更非永久性變更,關機重開後會變回原設定 |
|
回頂端 |
|
 |
kechange
註冊時間: 2004-12-16 文章: 81
第 5 樓
|
發表於: 星期三 一月 12, 2005 12:05 pm 文章主題: |
|
|
3Q..感激不盡...太感動了......
您的大恩大德..小弟盡生難忘.. |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 6 樓
|
發表於: 星期六 五月 14, 2005 11:12 am 文章主題: |
|
|
changeres 是幾版的命令 (眼睛太大了) 
bin1x 在 星期日 五月 15, 2005 8:22 am 作了第 4 次修改 |
|
回頂端 |
|
 |
garfield Site Admin

註冊時間: 2003-01-30 文章: 2160
第 7 樓
|
發表於: 星期日 五月 15, 2005 12:11 am 文章主題: |
|
|
bin1x 寫到: | changeres 是幾版的命令 |
是 Mibh, 創造出來的版本  _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
 |
yctsai
註冊時間: 2003-04-11 文章: 180
第 8 樓
|
發表於: 星期一 五月 16, 2005 2:52 pm 文章主題: |
|
|
請問當800*600切到1024*768時,下方的工具列(開始..)會變成在畫面中間地帶,這是正常的嗎? thanks |
|
回頂端 |
|
 |
|