我想让我的程序里面加上开机就启动,并且占据屏幕。。。程序关闭就自动关机?分不够另外开帖!!!急! 我想让我的程序里面加上开机就启动,并且占据屏幕程序关闭就自动关机?分不够另外开帖!!!急! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 希望能对你有帮助:有时需要让Windows在启动时自动运行你的程序,如何在程序中实现呢? 使用Regedit查找HKEY_LOCALMACHINE,你会发现所有的Windows启动时调用的程序都在这里,于是你将你的程序增加在这里就可以了。名称为你的程序的标题,其值为你的程序的执行路径和文件名称。 在程序中实现可以使用TRegIniFile或者使用TRegistry都可以。 User Registry; Var RegF:TRegistry; begin RegF:=TRegistry.Create; RegF.RootKey:=HKEY_LOCAL_MACHINE; try RegF.OpenKey('SOFTWARE\parWindows',True); RegF.WriteString('MyProg', "Mypr-og.exe"'); except ... End; {try} RegF.Close; RegF.Free; end; 一、写入注册表或启动组或win.ini(9x)让程序自启动。 写到注册表的函数:uses Registry;procedure writeToAutorun(filename:string);var reg:TRegistry; s:string;begin s:=filename; s:=extractFilename(s); if length(s)>4 then s:=leftStr(s,length(s)-4); reg:=TRegistry.Create; reg.RootKey:=HKEY_LOCAL_MACHINE; try reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\run',true); reg.WriteString(s,extractfilename(filename)); finally REG.CloseKey; reg.Free; end;end;在程序中如下调用:writeToAutorun(Application.exename);二、要全屏很简单: form1.left:=0;form1.top:=0;form1.width:=screen.width;form1.height:=screen.height;form1.formStyle:=fsStayOnTop;三、要屏蔽系统热键Ctrl+Alt+Del在win9x下可以通过以下语句屏蔽掉:SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,nil,0);在winnt下则比较复杂,请搜索以前的帖子 四、关机函数//关闭win2000的过程///////////////////////////////////////////////////////////procedure ExitWin2000(ewx: integer); {ewx 1: 重启;2:关闭电源}var hToken: THANDLE; hProc: THANDLE; mLUID: TLargeInteger; mPriv, mNewPriv: TOKEN_PRIVILEGES; mBufferLength: DWord;begin if not (ewx in [1, 2]) then exit; hProc := GetCurrentProcess(); OpenProcessToken(hProc, TOKEN_ADJUST_PRIVILEGES + TOKEN_QUERY, hToken); LookupPrivilegeValue('', 'SeShutdownPrivilege', mLUID); mPriv.PrivilegeCount := 1; mPriv.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED; mPriv.Privileges[0].Luid := mLUID; AdjustTokenPrivileges(hToken, False, mPriv, (4 + (12 * mPriv.PrivilegeCount)), mNewPriv, mBufferLength); case ewx of 1: ExitWindowsEx(EWX_FORCE + EWX_REBOOT, 0); 2: ExitWindowsEx(EWX_FORCE + EWX_POWEROFF, 0); end;end;//关闭计算机的过程/////////////////////////////////////////////////////////procedure shutDown();var os:OSVERSIONINFO;begin os.dwOSVersionInfoSize:=sizeOf(TOSversionInfo); getVersionEx(os); if (os.dwPlatformId=VER_PLATFORM_WIN32_WINDOWS) then exitWindowsEx(EWX_SHUTDOWN,0); if (os.dwPlatformId=VER_PLATFORM_WIN32_NT) then exitWin2000(2);end;在主窗体的OnDestroy事件中写下shutDown(); 即可关闭计算机。 用delphi下载网站上的文本文件老是提示404错误 俺要实现这么一个功能,请指教! Internet 连接的问题!!! 请高手帮忙!有没有能够自动识别HTML代码的RichEdit呢? combobox如何响应滚轮事件?解决立即给分 请问如何得到在系统中注册的,各种文件类型对应的图标 请看这个程序的问题出在什么地方? 怎样打开一个IE的窗口,然后又让它全屏 窗口图像覆盖后的重写为题? 大家认为只学软件,不学硬件可以吗? 有关treeview的问题。 关于DELPHI使用环境的奇怪问题,请高手指教!
一、写入注册表或启动组或win.ini(9x)让程序自启动。
写到注册表的函数:
uses Registry;
procedure writeToAutorun(filename:string);
var
reg:TRegistry;
s:string;
begin
s:=filename;
s:=extractFilename(s);
if length(s)>4 then
s:=leftStr(s,length(s)-4);
reg:=TRegistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
try
reg.OpenKey('SOFTWARE\Microsoft\Windows\CurrentVersion\run',true);
reg.WriteString(s,extractfilename(filename));
finally
REG.CloseKey;
reg.Free;
end;
end;在程序中如下调用:
writeToAutorun(Application.exename);二、要全屏很简单:
form1.left:=0;form1.top:=0;form1.width:=screen.width;form1.height:=screen.height;form1.formStyle:=fsStayOnTop;三、要屏蔽系统热键Ctrl+Alt+Del
在win9x下可以通过以下语句屏蔽掉:
SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,nil,0);
在winnt下则比较复杂,请搜索以前的帖子
procedure ExitWin2000(ewx: integer); {ewx 1: 重启;2:关闭电源}
var
hToken: THANDLE;
hProc: THANDLE;
mLUID: TLargeInteger;
mPriv, mNewPriv: TOKEN_PRIVILEGES;
mBufferLength: DWord;
begin
if not (ewx in [1, 2]) then
exit;
hProc := GetCurrentProcess();
OpenProcessToken(hProc, TOKEN_ADJUST_PRIVILEGES + TOKEN_QUERY, hToken);
LookupPrivilegeValue('', 'SeShutdownPrivilege', mLUID);
mPriv.PrivilegeCount := 1;
mPriv.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
mPriv.Privileges[0].Luid := mLUID;
AdjustTokenPrivileges(hToken, False, mPriv, (4 + (12 * mPriv.PrivilegeCount)), mNewPriv, mBufferLength);
case ewx of
1: ExitWindowsEx(EWX_FORCE + EWX_REBOOT, 0);
2: ExitWindowsEx(EWX_FORCE + EWX_POWEROFF, 0);
end;
end;
//关闭计算机的过程/////////////////////////////////////////////////////////
procedure shutDown();
var
os:OSVERSIONINFO;
begin
os.dwOSVersionInfoSize:=sizeOf(TOSversionInfo);
getVersionEx(os);
if (os.dwPlatformId=VER_PLATFORM_WIN32_WINDOWS) then
exitWindowsEx(EWX_SHUTDOWN,0);
if (os.dwPlatformId=VER_PLATFORM_WIN32_NT) then
exitWin2000(2);
end;在主窗体的OnDestroy事件中写下
shutDown(); 即可关闭计算机。