能不能把乙個現在的exe檔案整合在DLL檔案中?

2021-04-01 20:05:20 字數 1914 閱讀 2647

例如,現在有乙個現在的用c語言寫成的可執行檔案,如dos下的ping.exe,他可以接收到乙個引數的,如ping 127.0.0.1 ,能不能把這個ping.exe整合在乙個dll檔案中,並做成ping(ip)函式,然後通過呼叫這個dll中的ping(ip) 函式,來實現ping功能呢?我只是舉個例子說明我的意圖,我並不是想做ping 這個功能的,希望哪位高手能給出個例子參考一下。

做為資源編譯到dll裡,呼叫函式的時候釋放出來。

一、編寫:

library pingdll;

uses

forms,

unit1 in 'unit1.pas' ;

exports

doping;

begin

end.

unit unit1;

inte***ce

uses

windows, messages, sysutils, variants, classes, graphics, controls, forms,

dialogs, stdctrls;

type

tform1 = class(tform)

button1: tbutton;

edit1: tedit;

procedure button1click(sender: tobject);

private

public

end;

varform1: tform1;

procedure doping; cdecl;

implementation

procedure tform1.button1click(sender: tobject);

begin

winexec(pchar('ping.exe '+edit1.text),9);

end;

end.

二、呼叫:

unit unit_testdll;

inte***ce

uses

windows, messages, sysutils, variants, classes, graphics, controls, forms,

dialogs, stdctrls;

type

ttestdll = class(tform)

button1: tbutton;

procedure button1click(sender: tobject);

private

public

end;

vartestdll: ttestdll;

implementation

procedure doping;stdcall;external 'pingdll.dll';

procedure ttestdll.button1click(sender: tobject);

begin

doping;

end;

end.

dll和exe有很多相似之處,你甚至可以乾脆先把dll想象成exe。那麼你的問題就變成了怎麼在乙個exe檔案裡呼叫另外乙個exe檔案。說來說去,就變成winexec api了。

至於打包不打包只不過是為了保證客戶機器上也有那個要執行的exe罷了。

不釋放出來怎麼執行呢?完全的合二為一嗎?那問題可能就變成破解重寫那個軟體了。

dll和exe是乙個東西,exe合併的辦法同樣適用於dll

乙個簡單的辦法是用檔案流或copy命令,在dll檔案後面追加另乙個exe,

執行的時候讀取另乙個exe的位元組流,然後釋放到乙個臨時資料夾下,

再winexec/shellexecute/createprocess執行這個臨時exe

要想不釋放臨時exe的話,得先研究一下pe格式,使dll在執行的時候跳轉到exe檔案入口位址,

很多病毒、木馬就是這樣做的

只使用div能不能完成乙個頁面

使用div能不能實現乙個頁面,第一,我們要了解什麼樣的網頁算是乙個完整的頁面 第二,乙個完整的頁面需要具備什麼 第三 div有什麼特性 功能 乙個完整的成功的頁面首先需要有友好美觀的介面顯示,首先第一眼要吸引使用者繼續瀏覽你的網頁,這需要舒適的色彩搭配,恰當的 格式的編排,避免設計的東西看上去像廣告...

flex的乙個問題 路過的看看能不能幫忙解決

在flex的乙個視窗中,放置了3個datagrid,我的目的是對這3個傢伙動態新增行和列 給按鈕的哦,每次每個datagrid都新增2列 可發現執行新增列的時候,有很大機率出現顯示不完整 視窗原來高度有1000 當然有滾動條 變只有800或800不到 還有滾動條的哦 下面的不顯示,搞的我鬱悶得要死,...

給定四個座標點,判斷它們能不能組成乙個矩形?

已知四個點的座標為 0,0 0,1 1,1 1,0 判斷它們能不能組成乙個矩形 分析 至少有三個內角都是直角的四邊形是矩形,有乙個內角是直角的平行四邊形是矩形,對角線相等的平行四邊形是矩形。矩形是一種特殊的平行四邊形,正方形是特殊的矩形。矩形也叫長方形。如圖所示,如果a b c d四點構成矩形的話,...