救命啊!怎样指定一个文件的打开方式?明天就交了,高手快来指点。(50分)

  • 主题发起人 主题发起人 blad_pitt
  • 开始时间 开始时间
B

blad_pitt

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个.dll文件,我需要指定regsvr32.exe来打开它一下,应该怎么做啊?
另外我想判断机器上的操作系统,应该怎样?
 
写个bat文件
regsvr32 *.dll
运行一次就可以了
 
用regsvr32.exe运行?是不是注册啊?
判断机器上的操作系统,试试下面的代码:
function GetOS :TOSVersion;//判断系统的函数
var
OS :TOSVersionInfo;
begin
ZeroMemory(@OS,SizeOf(OS));
OS.dwOSVersionInfoSize:=SizeOf(OS);
GetVersionEx(OS);
Result:=osUnknown;
if OS.dwPlatformId=VER_PLATFORM_WIN32_NT then begin
case OS.dwMajorVersion of
3: Result:=osNT3;
4: Result:=osNT4;
5: Result:=os2K;
end;
if (OS.dwMajorVersion=5) and (OS.dwMinorVersion=1) then
Result:=osXP;
end else begin
if (OS.dwMajorVersion=4) and (OS.dwMinorVersion=0) then begin
Result:=os95;
if (Trim(OS.szCSDVersion)='B') then
Result:=os95OSR2;
end else
if (OS.dwMajorVersion=4) and (OS.dwMinorVersion=10) then begin
Result:=os98;
if (Trim(OS.szCSDVersion)='A') then
Result:=os98SE;
end else
if (OS.dwMajorVersion=4) and (OS.dwMinorVersion=90) then
Result:=osME;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);//判断过程
var
os:TosVersion;
osVersion:string;
begin
os:=Getos;//调用函数
case OS of
os95, os95OSR2: OSVersion:='Windows 95';
os98: OSVersion:='Windows 98';
os98SE: OSVersion:='Windows 98 第二版';
osME: OSVersion:='Windows Millenium Edition';
osNT3, osNT4: OSVersion:='Windows NT';
os2K: OSVersion:='Windows 2000';
osXP: OSVersion:='Windows XP';
end;
showmessage(osversion); //显示版本
end;
 
如果是注册的话,你可以建立一个**.BAT文件,然后在程序启动的时候WINEXEC()
Winexec(extractfilepath(application.exename)+'**.BAT',sw_Hide);
 
Delphi里习惯使用 ShellExecute (ShellAPI 单元)执行外部命令。

ShellExecute(0, 'open', 'regsvr32.exe', 'abc.dll', '', SW_SHOWNORMAL);
 
多人接受答案了。
 
后退
顶部