導航:首頁 > 編程語言 > delphi外殼程序

delphi外殼程序

發布時間:2021-11-25 15:19:18

1. delphi 獲取硬碟外殼ID號

function Tform1.GetIdeSerialNumber: pchar; //獲取硬碟的出廠系列號;
const IDENTIFY_BUFFER_SIZE = 512;
type
TIDERegs = packed record
bFeaturesReg: BYTE;
bSectorCountReg: BYTE;
bSectorNumberReg: BYTE;
bCylLowReg: BYTE;
bCylHighReg: BYTE;
bDriveHeadReg: BYTE;
bCommandReg: BYTE;
bReserved: BYTE;
end;

TSendCmdInParams = packed record
cBufferSize: DWORD;
irDriveRegs: TIDERegs;
bDriveNumber: BYTE;
bReserved: array[0..2] of Byte;
dwReserved: array[0..3] of DWORD;
bBuffer: array[0..0] of Byte;
end;

TIdSector = packed record
wGenConfig: Word;
wNumCyls: Word;
wReserved: Word;
wNumHeads: Word;
wBytesPerTrack: Word;
wBytesPerSector: Word;
wSectorsPerTrack: Word;
wVendorUnique: array[0..2] of Word;
sSerialNumber: array[0..19] of CHAR;
wBufferType: Word;
wBufferSize: Word;
wECCSize: Word;
sFirmwareRev: array[0..7] of Char;
sModelNumber: array[0..39] of Char;
wMoreVendorUnique: Word;
wDoubleWordIO: Word;
wCapabilities: Word;
wReserved1: Word;
wPIOTiming: Word;
wDMATiming: Word;
wBS: Word;
wNumCurrentCyls: Word;
wNumCurrentHeads: Word;
wNumCurrentSectorsPerTrack: Word;
ulCurrentSectorCapacity: DWORD;
wMultSectorStuff: Word;
ulTotalAddressableSectors: DWORD;
wSingleWordDMA: Word;
wMultiWordDMA: Word;
bReserved: array[0..127] of BYTE;
end;

PIdSector = ^TIdSector;
TDriverStatus = packed record
bDriverError: Byte;
bIDEStatus: Byte;
bReserved: array[0..1] of Byte;
dwReserved: array[0..1] of DWORD;
end;

TSendCmdOutParams = packed record
cBufferSize: DWORD;
DriverStatus: TDriverStatus;
bBuffer: array[0..0] of BYTE;
end;
var
hDevice: Thandle;
cbBytesReturned: DWORD;
SCIP: TSendCmdInParams;
aIdOutCmd: array[0..(SizeOf(TSendCmdOutParams) + IDENTIFY_BUFFER_SIZE-1)-1] of Byte;
IdOutCmd: TSendCmdOutParams absolute aIdOutCmd;

procere ChangeByteOrder(var Data; Size: Integer);//函數中的過程
var
ptr: Pchar;
i: Integer;
c: Char;
begin
ptr := @Data;
for I := 0 to (Size shr 1) - 1 do begin
c := ptr^;
ptr^ := (ptr + 1)^;
(ptr + 1)^ := c;
Inc(ptr, 2);
end;
end;

begin //函數主體
Result := '';
if SysUtils.Win32Platform = VER_PLATFORM_WIN32_NT then
begin // Windows NT, Windows 2000
hDevice := CreateFile('\\.\PhysicalDrive0', GENERIC_READ or GENERIC_WRITE,
FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
end
else // Version Windows 95 OSR2, Windows 98
hDevice := CreateFile('\\.\SMARTVSD', 0, 0, nil, Create_NEW, 0, 0);
if hDevice = INVALID_HANDLE_VALUE then Exit;
try
FillChar(SCIP, SizeOf(TSendCmdInParams) - 1, #0);
FillChar(aIdOutCmd, SizeOf(aIdOutCmd), #0);
cbBytesReturned := 0;
with SCIP do
begin
cBufferSize := IDENTIFY_BUFFER_SIZE;
with irDriveRegs do
begin
bSectorCountReg := 1;
bSectorNumberReg := 1;
bDriveHeadReg := $A0;
bCommandReg := $EC;
end;
end;
if not DeviceIoControl(hDevice, $0007C088, @SCIP, SizeOf(TSendCmdInParams) - 1,@aIdOutCmd, SizeOf(aIdOutCmd), cbBytesReturned, nil) then Exit;
finally
CloseHandle(hDevice);
end;
with PIdSector(@IdOutCmd.bBuffer)^ do
begin
ChangeByteOrder(sSerialNumber, SizeOf(sSerialNumber));
(Pchar(@sSerialNumber) + SizeOf(sSerialNumber))^:= #0;
Result := Pchar(@sSerialNumber);
end;
end;

注意: vista 和win7下無效

2. delphi編寫一個外殼程序,殼裡面能調用網頁

procere TForm1.btn1Click(Sender: TObject);
begin
ShellExecute(Handle,'open','網址',
nil,nil,SW_SHOWNORMAL);
end;

3. 如何製作delphi的打包程序

通常, 在 delphi 中建立一個工程文件(*.dpr;*.dproj),點擊工具條上的 Run 圖標就會自動將源代碼編譯成 exe 文件:

其中,exe 文件生成的路徑,在 Project 菜單下的 Option 中進行設定:

如果生成的 exe 文件需要進行正式打包發布,根據軟體的特點可以採用不同的方式:

1、僅需要生成的 exe 文件,不需要其他文件的支持
對於這種類型的軟體,通常是比較小的工具類軟體,則可以直接將生成的 Exe 文件發布即可。

2、軟體的運行還需要其他文件支持
一些稍大些的軟體可能就需要其他的支持,比如:資料庫、驅動程序等等。這時可以採用專門的軟體安裝製作工具,將所有需要的文件(包括 exe 和其他文件)進行二次打包。
此類軟體安裝製作工具較多,常用的有 Windows Intaller、 InstallShield、Setup Factory 等等。

如 Setup Factory 的製作向導:

4. Borland Delphi DLL是什麼殼

用PEID查看的時候如果程序沒有加殼,那麼顯示的是該程序是用什麼編譯器編譯的,由你描述的可以看出來,你所查看的程序是用Borland Delphi 6.0 - 7.0編寫和編譯的. Borland Delphi 為一種編程語言和工具,其語言為OBJECT PASCAL,現已改為DELPHI語言

5. delphi調用外部程序~~~~~~~~~~~~

你的NC.exe在哪個路徑,補上去
ShellExecute(0,"open","nc.exe -w 2 192.168.0.1 80<2.txt",0,0,SW_SHOW );

6. PEid查殼,顯示Borland Delphi 6.0 - 7.0,請問這個殼怎麼去啊

Borland Delphi 6.0 - 7.0不是殼,是一種編程語言。這是告訴你,該程序使用Delphi編寫的。

Delphi程序沒有辦法還原到C++代碼,這兩者不是一種語言!

你只能想辦法將它還原到Delphi代碼(不過,目前還沒有什麼好的工具)。

7. Borland Delphi 2.0 這個是殼嗎

Borland Delphi 2.0 不是殼,是一門編程語言,到這里殼就算沒有了, 如果你還未找到數據說明是在寫程序的時候就加密過的

8. delphi 如何激活外部程序

我在一個應用程序中要頻繁調用了另一個應用程序(X.exe),只有第一次調用時,X.exe能彈出,以後調用時就不能彈出了. 查看更多答案>>

採納哦

9. Borland Delphi 6.0 - 7.0是殼嗎

Borland Delphi 是一種編程語言,它的前身就是PASCAL語言,如果你在做逆向工程,這說明軟體沒有加殼,並且我極力建議你用DeDe來反匯編Delphi的代碼,極其方便,可以直接看到每一個過程和函數的匯編代碼。

10. Borland Delphi 6.0 - 7.0編寫好的程序進行脫殼

這是Delphi編程的程序,程序可能隱藏了內部字元串,不能簡單的用漢化程序漢化,需要用反編譯程序找到內部字元串來修改

閱讀全文

與delphi外殼程序相關的資料

熱點內容
一個虛擬主機怎麼建多少網站 瀏覽:825
和家親app為什麼老是掉線 瀏覽:990
兒童編程思維課有什麼用 瀏覽:600
魔百和網路機頂盒怎麼連接電視 瀏覽:611
國產顯示器icc配置文件 瀏覽:52
java編程常見的語法糖有哪些 瀏覽:41
jspmysql選課源碼 瀏覽:877
ipadmini2下載app等待 瀏覽:399
creo工程圖配置文件 瀏覽:699
編程和鋼琴哪個貴 瀏覽:841
移動進銷存app哪個好 瀏覽:600
編程製作游戲什麼原理 瀏覽:97
linux如何查看是否有共享文件夾 瀏覽:264
u盤拷貝文件以後為空 瀏覽:917
快雲主機資料庫連接方法 瀏覽:756
javagsp定位 瀏覽:384
jsp頁面表格導出excel 瀏覽:976
imagetest教程 瀏覽:244
怎樣將一個cad文件包圖紙兼容 瀏覽:898
論文有什麼好的網站 瀏覽:581

友情鏈接