1
다음 코드를 사용하여 Delphi에서 바로 가기를 만듭니다. 바로 가기의 권한 수준 속성에서 "관리자 권한으로이 프로그램 실행"확인란을 선택하여 바로 가기를 만들고 싶습니다. 이 일을 할 수있는 방법이 있습니까?델파이로 바로 가기를 만들고 특권 레벨을 지정하십시오.
function MakeShortcut(Dst, Src: String; Desc: String = ''; Arg: String = ''; WorkDir: String = ''; Icon: String = ''; IconI: Integer = 0; Show: Integer = SW_SHOWNORMAL; HotKey: Word = 0): Boolean;
var
u: IUnknown;
s: IShellLink;
f: IPersistFile;
p: WideString;
begin
try
u := CreateComObject(CLSID_SHELLLINK);
s := u as IShellLink;
f := u as IPersistFile;
s.SetPath(PChar(Src));
if (WorkDir = '') then WorkDir := ExtractFileDir(Src);
s.SetWorkingDirectory(PChar(WorkDir));
if (Icon = '') then Icon := Src;
s.SetIconLocation(PChar(Icon), IconI);
s.SetDescription(PChar(Desc));
s.SetArguments(PChar(Arg));
s.SetShowCmd(Show);
s.SetHotkey(HotKey);
p := Dst;
Result := Succeeded(f.Save(PWChar(p), False));
except
Result := False;
end;
end;
주, 그것은 EXE 자체 (또는 오히려 현재의 경로)에 호환성 플래그입니다. 응용 프로그램 shoudl 정말 그 매니 페스트에 플래그입니다. – Deanna
@Deanna 아니요. 응용 프로그램이 항상 admin으로 실행되는 것을 원하지 않습니다. 특수 명령 줄 인수가 전달되면 관리자로 실행하고 싶습니다. Like : "myapp.exe/install" – Vahid