L leehq Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-13 #61 还没有结帖啊,<br>我说"以Admin用户登录不等于以Admin用户运行,点右键击以管理员运行即可! "<br>你就没有试一试!
Z zzyun Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-13 #62 to:leehq<br>兄弟啊,这种方法是不行的哦。人家客户希望的是直接双击.exe文件就可以运行的,而不是点右键击以管理员运行的。
P protossgffnxk Unregistered / Unconfirmed GUEST, unregistred user! 2007-03-13 #63 delphi2007好像支持vista,里面应该有方法,还是等些日子吧
B BeyondStudio Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-06 #66 Vista 下双击运行程序默认是以标准普通用户身份运行的,可以加资源编译到程序中,会自动提示用户确认程序提升权限的请求,资源文件内容如下:<br><?xml version="1.0" encoding="utf-8" ?><br><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><br><assemblyIdentity version="1.0.0.0" <br> processorArchitecture="X86"<br> name="Vista UAC Compat.Application"<br> type="win32" /> <br> <description>WindowsVistaReadiness Application</description><br> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"><br> <security><br> <requestedPrivileges><br> <requestedExecutionLevel level="requireAdministrator" /><br> </requestedPrivileges><br> </security><br> </trustInfo><br></assembly>
Vista 下双击运行程序默认是以标准普通用户身份运行的,可以加资源编译到程序中,会自动提示用户确认程序提升权限的请求,资源文件内容如下:<br><?xml version="1.0" encoding="utf-8" ?><br><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><br><assemblyIdentity version="1.0.0.0" <br> processorArchitecture="X86"<br> name="Vista UAC Compat.Application"<br> type="win32" /> <br> <description>WindowsVistaReadiness Application</description><br> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"><br> <security><br> <requestedPrivileges><br> <requestedExecutionLevel level="requireAdministrator" /><br> </requestedPrivileges><br> </security><br> </trustInfo><br></assembly>
Z zzyun Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-06 #67 to:BeyondStudio<br>兄台,你给的资源文件怎么加到代码中?呵呵,小弟不才,还请多多指教。
G guanyue7613 Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-11 #68 BeyondStudio的应该是个xpmainfast文件吧
Z zzyun Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-11 #69 to:各位兄台<br>小弟不才,BeyondStudio给的那个文件怎么加到代码中去?<br>该代码只需要读取VISTA下CPU的消息即可,哪位大虾可以提供代码?
Z zzyun Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-11 #70 to:BeyondStudio<br>你给的那资源文件好象是针对VC2005的,网址是http://blog.csdn.net/shenghuafen/archive/2006/12/19/1449216.aspx<br>不知道有没有针对Delphi的?
to:BeyondStudio<br>你给的那资源文件好象是针对VC2005的,网址是http://blog.csdn.net/shenghuafen/archive/2006/12/19/1449216.aspx<br>不知道有没有针对Delphi的?
S sy0116 Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-11 #71 今天晚上突然想起一件事,改了一丁点东西,竟然可以了<br>function getcpuChar;stdcall;<br>var<br> reg:HKEY;<br> sizeDWORD;<br> infoByte;<br>begin<br> GetMem(info,64);<br> GetMem(size,SizeOf(pdword));<br> size^:=64;<br> RegOpenKeyEx(HKEY_LOCAL_MACHINE,PChar('HARDWARE/DESCRIPTION/System/CentralProcessor/0'),0,KEY_QUERY_VALUE,reg);<br> RegQueryValueEx(reg,PChar('ProcessorNameString'),nil,nil,Pbyte(info),@Size);<br> Result:=PChar(info);<br> RegCloseKey(reg);<br>end;<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>begin<br> ShowMessage(getcpu);<br>end;
今天晚上突然想起一件事,改了一丁点东西,竟然可以了<br>function getcpuChar;stdcall;<br>var<br> reg:HKEY;<br> sizeDWORD;<br> infoByte;<br>begin<br> GetMem(info,64);<br> GetMem(size,SizeOf(pdword));<br> size^:=64;<br> RegOpenKeyEx(HKEY_LOCAL_MACHINE,PChar('HARDWARE/DESCRIPTION/System/CentralProcessor/0'),0,KEY_QUERY_VALUE,reg);<br> RegQueryValueEx(reg,PChar('ProcessorNameString'),nil,nil,Pbyte(info),@Size);<br> Result:=PChar(info);<br> RegCloseKey(reg);<br>end;<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>begin<br> ShowMessage(getcpu);<br>end;
U ufo Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-11 #72 如果嫌编译资源文件麻烦,BeyondStudio给的xml文件可以这么用:<br>1。保存这些内容到一个文本文件。<br>2。修改文本文件的文件名为: YouExeName.exe.manifest 注意.exe不能去掉<br>3。把这个文件和你的exe文件放在同一个目录下,这样运行你的exe文件时会自动解析进这个xml文件。
如果嫌编译资源文件麻烦,BeyondStudio给的xml文件可以这么用:<br>1。保存这些内容到一个文本文件。<br>2。修改文本文件的文件名为: YouExeName.exe.manifest 注意.exe不能去掉<br>3。把这个文件和你的exe文件放在同一个目录下,这样运行你的exe文件时会自动解析进这个xml文件。
Z zzyun Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-12 #74 to:sy0116<br>兄弟,你给的那段代码确实可以读出VISTA的CPU名字,但是在2K,XP下好象有点问题的,在2K,XP下如果多次点击那个。EXE 文件会报错。<br>to:sy0116 ufo!<br>我是这样操作的,首先将那段代码保存在一个.txt中,然后将文件名字改为project1.exe.manifest,同时将这两个文件保存在一个文件夹中,在VISTA上测试的时候好象还是不行的。呵呵
to:sy0116<br>兄弟,你给的那段代码确实可以读出VISTA的CPU名字,但是在2K,XP下好象有点问题的,在2K,XP下如果多次点击那个。EXE 文件会报错。<br>to:sy0116 ufo!<br>我是这样操作的,首先将那段代码保存在一个.txt中,然后将文件名字改为project1.exe.manifest,同时将这两个文件保存在一个文件夹中,在VISTA上测试的时候好象还是不行的。呵呵
Z zzyun Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-12 #75 to:sy0116<br>RegOpenKeyEx and RegQueryValueEx函数的参数我改了几个好象在2K,XP下还是会报错的。呵呵
H hyxic Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-12 #76 vista还没用过,听说有很多毛病, 不只是不是真的
U ufo Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-12 #77 简单一点的,先判断一下操作系统版本,根据不同的操作系统版本选择运行不同的代码好了。
Z zzyun Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-12 #78 呵呵,如果说能只用一段代码在不同的OS上运行那还是要好很多的啊。
域 域 Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-12 #79 呵呵,讨论还真热烈,应该是权限问题,虽然这个键我没读过,但vista下注册表的其它键倒是读取过,只要run as administrator就可以了,另外,上面说的那个manifest文件确实对delphi无效,目前我也正在苦脑如何提升权限,而不需要用户刻意"run as administrator"
呵呵,讨论还真热烈,应该是权限问题,虽然这个键我没读过,但vista下注册表的其它键倒是读取过,只要run as administrator就可以了,另外,上面说的那个manifest文件确实对delphi无效,目前我也正在苦脑如何提升权限,而不需要用户刻意"run as administrator"
S sy0116 Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-12 #80 那个manifest对delphi是有效的啊,我测试过的<br>我还有一个想法:把自己的代码注入到系统进程,比如winlogo.exe然后再读写注册表就应该可以了,但是我只会注入到explorer.exe等进程中,不知道如何才能注入到svchost,winlogon等进程
那个manifest对delphi是有效的啊,我测试过的<br>我还有一个想法:把自己的代码注入到系统进程,比如winlogo.exe然后再读写注册表就应该可以了,但是我只会注入到explorer.exe等进程中,不知道如何才能注入到svchost,winlogon等进程