2011年3月29日 星期二

使用批次檔修改proxy與ip

http://www.robvanderwoude.com/regedit.php

登錄編輯程式: regedit

想要做一個修改某機碼的.reg檔案
可以先開啟登錄編輯程式找到要改的資料夾,匯出後再修改匯出的內容會比較快


============================
判斷目前proxy是否有開啟並反向設定



@ECHO OFF

FOR /F %%A IN ('REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable ^| grep ProxyEnable ^| awk "{print $3}"' ) DO IF "%%A"=="0x1" (call:on) ELSE (call:off)
GOTO:EOF

:on
ECHO =================
ECHO proxy狀態: 開啟
ECHO 關閉proxy中...
regedit /s proxy_off.reg
ECHO 完成
ECHO =================
pause
GOTO:EOF

:off
ECHO =================
ECHO proxy狀態: 關閉
ECHO 開啟proxy中...
regedit /s proxy_on.reg
ECHO 完成
ECHO =================
pause
GOTO:EOF

2011年3月2日 星期三

避免編譯時產生錯誤 - error: void value not ignored as it ought to be

假設...
int aaa(){
...
}

void bbb(){
...
}



若遇到下面這種寫法
ret=flag? aaa(): bbb();
編譯時會發生錯誤:
error: void value not ignored as it ought to be

因為此時若flag為0,則ret=bbb();
但是bbb()沒有回傳東西(void),
此時可以使用下面這種寫法:
ret=flag? aaa(): (bbb(),NULL);

其中(bbb(),NULL)永遠回傳0(NULL)

http://en.wikipedia.org/wiki/Comma_operator