Patcher和遊戲主程式是兩個獨立的*.exe
當Patcher更新完畢之後Patcher便會透過WinExec執行主程式並結束自己
我的目的是不希望主程式被使用者自行啟動
主程式執行的時候, 偵測 Patcher 程式是否在執行中
S:='GAME_MAIN.EXE ABC'; //update
winexec(PCHAR(S),SW_MAXIMIZE);
//取得系統目錄
procedure TForm1.Button1Click(Sender: TObject);
var
Path:Array[0..64] of char;
begin
ShowMessage(ExtractFilePath(Application.ExeName));
GetWindowsDirectory(Path,64);
ShowMessage(Path
//找出字串中特定字的位置
int pos;
for (i=0; i < sl->Count; i++)
{
pos=sl->Strings[i].Pos("0x"); // 找出該line中0x的位置
if(pos!=0)
{
Label1->Captio=sl->Strings[i].SubString(pos+2, 1); //
如何判斷作業系統
Result:=osUnknow;
if (Win32Platform=1) then begin
if (Win32MinorVersion=0) then begin
Result:=osWin95;
end else begin
Result:=osWin98;
end;
end else if
use dateutils
dayoftheyear(日期);
傳回一年的天數
程序不出現在任務欄
uses windows
var
ExtendedStyle : Integer;
begin
Application.Initialize;
//==============================================================
ExtendedStyle := GetWindowLong (A
關於文件、目錄操作
Chdir('c:\abcdir');轉到目錄
Mkdir('dirname');建立目錄
Rmdir('dirname');刪除目錄
GetCurrentDir;//取當前目錄名,無'\'
Getdir(0,s);//取工作目錄名s:='c:\abcdir';
Deletfile('abc.txt');//刪除文件
Renamefile('old.txt','n
是否目錄是空的
function IsDirEmpty (const ADirPath :string) :boolean;
var F :TSearchRec;
begin
result := (FindFirst(ADirPath+'\*.*',faAnyFile,F) = 0) and
(FindNext(F) = 0) and
等待適量的毫秒
procedure TForm1.Button1Click(Sender: TObject);
procedure Delay(ms : longint);
var
t1 : longint;
begin
t1 := GetTickCount;
while (GetTickCount - t1) < ms do
Application.Pr
陣列組合
procedure TForm1.Button1Click(Sender: TObject);
type
CharArray = array[0..6] of char;
PCharArray = ^CharArray;
var
p: array[0..100] of Char;
C: PCharArray;
I : Integer;
begin
C := @p;