2009年8月25日 星期二

[2009/10/11 更新] [C#] XP Aero Snap RC2




這是最近我自己寫的一個小程式,已經進入RC版,除了原本的拉到上方最大化、拉到左方半視窗與拉到右方半視窗還增加了拉到下方最小化功能,目前已穩定許多,可以正常的使用,還會繼續改善與debug,有空的時候會陸續更新....


// ----------------------------------------------------------------------------------------------------


[DllImport("user32.dll")]


public extern static bool GetCursorPos(out Point p); // 取得滑鼠位置


 // ----------------------------------------------------------------------------------------------------


[StructLayout(LayoutKind.Sequential)]


public struct RECT


{


public int left;


public int top;


public int right;


public int bottom;


}


[DllImport("user32.dll")]


public static extern int GetWindowRect(int hwnd, ref RECT rc); // 取得視窗位置


 // ----------------------------------------------------------------------------------------------------


private const int SW_HIDE = 0;


private const int SW_NORMAL = 1;


private const int SW_MAXIMIZE = 3;


private const int SW_SHOWNOACTIVATE = 4;


private const int SW_SHOW = 5;


private const int SW_MINIMIZE = 6;


private const int SW_RESTORE = 9;


private const int SW_SHOWDEFAULT = 10;


[DllImport("User32.dll")] 


private static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow); // 變更視窗的狀態 (ex: 最大化 最小化)


 // ----------------------------------------------------------------------------------------------------


[DllImport("user32.dll", EntryPoint = "GetAsyncKeyState")]


public static extern int GetAsyncKeyState(int vKey);


private const int VK_LBUTTON = 1;


private const int VK_RBUTTON = 2;


private const int VK_MBUTTON = 4;



// ----------------------------------------------------------------------------------------------------


static readonly IntPtr HWND_TOP = new IntPtr(0);


private const int SWP_SHOWWINDOW = 64;


private const int SWP_NOSIZE = 1;


private const int SWP_NOMOVE = 2;


private const int SWP_NOZORDER = 0x4;


private const int SWP_FRAMECHANGED = 0x20;


[DllImport("user32.dll")]


private static extern bool SetWindowPos(int hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags); // 改變視窗的位置或大小



// ----------------------------------------------------------------------------------------------------


[DllImport("user32")]


public static extern bool IsZoomed(IntPtr hwnd); // 判斷視窗是否為最大化



// ----------------------------------------------------------------------------------------------------


[DllImport("user32")]


public static extern bool IsIconic(IntPtr hwnd); // 判斷視窗是否為最小化



// ----------------------------------------------------------------------------------------------------


[DllImport("user32.dll")]


private static extern bool UpdateWindow(IntPtr hWnd); // 更新視窗



// ----------------------------------------------------------------------------------------------------


以上是所用到的API (Application Programming Interface) 應用程式介面,一種Windows所提供的系統函數


※ 2009/09/06 目前功能穩定 也許還有些bug出現,使用前必須先裝 .Net framework 3.5版才能執行!


※ 2009/10/11 同上並新增設定保存功能(Win7的使用者也能使用,只要留下"最小化"功能,其它三個功能不勾)


※ Win7 ,Vista 使用者 ,如果將檔案放置C:\Program Files\ 在修改設定值之前必須先以"系統管理員權限執行",否則設定值將無法寫入置硬碟。


執行檔下載


C# XP AeroSnap RC2 版原始碼下載

2009年8月18日 星期二

將小筆電的顯示效能完全打開!

GMABooster 一套很棒的程式,只要你是用小筆電,且你的顯示晶片是GMA950(945GME),那麼你將可以使用這個小工具幫你的顯示效能UP!UP!


小筆電用的GMA950 的GPU時脈預設是166Mhz,而GMA950的出廠值則是可以跑到400Mhz,通常為了省電或是降低熱量,會將他降頻,而如果在跑3D或遊戲,很需要效能的話,


可以用他來幫你調整時脈


1.png 


程式介面


 


2.png 


可調整的速度


 


3.png 


選擇後按下SET即可,左下角會出現Success表示成功


 


4.png 


也能將他調回預設值, 一樣按一下SET


P.S 沒有註冊只能用三天


作者網址:http://www.gmabooster.com/

2009年8月8日 星期六

徹底解決Vista, 7 相容性問題!

在安裝檔主程式或是在已安裝好的執行檔上面按右鍵->內容,會出現以下視窗


未命名.png


請善用相容性選擇XP!這很重要,有些有遊雖然可以安裝但不一定能玩,或是可以玩但有些問題(例:遊戲動畫無法播放),這時就可以勾選相容性XP,如果是更早的遊戲可以直接勾選Win 98,再來勾選底下的"以系統管理員身份執行",這也是相當重要的,如果你的帳戶已經是系管理員,但是你的UAC(使用者帳戶控制)是開啟的,那麼建議你勾選它,可以解決一些因為權限不足而無法執行或是執行出錯的問題。


 


底下的教學是直接把UAC給徹底關閉!有一些造成程式出現怪問題或執行出錯甚至無法執行,用了以上的相容性設定還是沒有幫助的話,那麼你需要將UAC給關掉,如果你很重視系統的安全那麼就不用繼續看下去了。


開始.png使用者帳戶和家庭安全.png使用者帳戶.png 


   使用者帳戶控制.png    UAC.png


按下確定後會跳出警示按"是",之後必須手動重開機才會生效。


以上是解決相容性問題的"基本功",再來就是看程式的性質,如果是DOS系列的,就麻煩安裝DosBox囉!


win98系列如果以上設定還是沒辦法,那就只好另外安裝"虛擬機",也就是VirtualBox那一類的虛擬電腦軟體。


XP系列"通常"用了以上的設定之後80%都能正常使用才對,如果也是不能還是安裝虛擬機軟體吧!囧rz...


 


 

2009年8月4日 星期二

[2009.9.4 更新] 使用EeePC 還原片製作出乾淨的正版XP HOME

首先一定要有EeePC的還原片,


再來就是到一台有DVD光碟機的電腦上放入原版的EeeXP還原片,


然後將裡面的"i386XP"包括資料夾複製到電腦的硬碟上(如:桌面)並且重新命名為i386,


再從EeePC電腦裡的XP 搜尋以下檔案:


   OEMBIOS.BIN
   OEMBIOS.CAT
   OEMBIOS.DAT
   OEMBIOS.SIG
   OOBEINFO.INI


之後按 "視窗" + "R" 叫出”執行”視窗並輸入”CMD"按Enter,此時會出現”命令提示字元。


輸入以下指令:


MAKECAB OEMBIOS.BIN


MAKECAB OEMBIOS.CAT


MAKECAB OEMBIOS.DAT


MAKECAB OEMBIOS.SIG


MAKECAB OOBEINFO.INI


(此命令是將檔案壓縮成CAB檔,壓完檔名如下)


   OEMBIOS.BI_
   OEMBIOS.CA_
   OEMBIOS.DA_
   OEMBIOS.SI_
   OOBEINFO.IN_


再複製已壓縮的檔案到i386的資料夾裡面


基本上這應該是已經可以安裝的系統了,接下來copy到usb隨身碟,使用usb xp重灌法就可以安裝了


(建議直接參考以下連結的教學會有比較完整的做法)


參考資料:EEEUSER, Mobile 01 


[2009.9.4 更新] 以上的教學是作出免啟動原版乾淨XP。雖然也能直接用i386XP直接安裝,但是今天試後後發現安裝好的XP需要啟動...連續重灌三次才了解這個原故(我的SSD.. TOT)