Olá, Boa Tarde Pessoal...
Depois de pesquisar muito na internet, encontrei pouco conteúdo sobre o assunto e resolvi postar aqui.
Nosso assunto hoje será como descobrir o destino de um atalho do windows.
Para que esta função rode corretamente é preciso declarar no uses as seguinte Units "ShellApi, ShlObj, ActiveX, ComObj, Registry" (sem as aspas).
1º - Declare a seguinte função:
Function PegaDestinoAtalho(const LinkFileName:String):String;
2º - Na área de implementações, implemente-a da seguinte maneira:
function TForm1.PegaDestinoAtalho(const LinkFileName: String): String;
var
psl : IShellLink;
ppf : IPersistFile;
Info : Array[0..MAX_PATH] of Char;
wfs : TWin32FindData;
begin
CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IShellLink, psl);
if psl.QueryInterface(IPersistFile, ppf) = 0 then
begin
ppf.Load(PWChar(WideString(LinkFileName)), 0);
psl.GetPath(@info, MAX_PATH, wfs, SLGP_UNCPRIORITY);
Result := info;
end;
end;
3º - Para utilizar a função, chame-a da seguinte forma:
// Declare duas variáveis do tipo String ("caminho e destino").
// "caminho" será o caminho do atalho e
// "destino" receberá o destino do atalho.
caminho := 'C:\Users\usuario\Desktop\atalho.lnk';
destino := PegaDestinoAtalho(caminho);
OBS. 1: Em Breve postarei como ler todos os arquivos do tipo "*.lnk" de um determinado diretório.
OBS. 2: Para fins de compatibilidade, esta dica foi escrita usando Delphi XE3.
Fonte.: Algum lugar da Internet e alterado para melhor entendimento.
Esta foi a dica de hoje, se for útil, comentem.
Se você tem uma dica interessante, pode postar nos comentários.
Atenciosamente
Dica Chave.
quarta-feira, 10 de julho de 2013
Nome do usuário logado no Windows com Delphi
Olá, Boa Tarde Pessoal...
Hoje vamos ver como saber o nome do usuário logado no Windows com o auxilio do Delphi.
1º - Declare a seguinte função:
Function NomeUsuario: String;
2º - Na área de implementações, implemente-a da seguinte maneira:
function TForm1.NomeUsuario: String;
var
lpBuffer : Array[0..20] of Char;
nSize : dWord;
mRet : boolean;
erro : dWord;
begin
nSize := 120;
mRet := GetUserName(lpBuffer, nSize);
if mRet then
begin
Result := lpBuffer
end
else
begin
erro := GetLastError();
MessageDlg('Ocorreu o erro ' + IntToStr(erro) + ' ao procurar o nome logado no computador.',
mtError, [mbOk], 0);
Result := '';
end;
end;
3º - Para utilizar a função, chame-a da seguinte forma:
nomeDoUsuario := NomeUsuario;
OBS.: Para fins de compatibilidade, esta dica foi escrita usando Delphi XE3.
Fonte.: Algum lugar da Internet.
Esta foi a dica de hoje, se for útil, comentem.
Se você tem uma dica interessante, pode postar nos comentários.
Atenciosamente
Dica Chave.
Hoje vamos ver como saber o nome do usuário logado no Windows com o auxilio do Delphi.
1º - Declare a seguinte função:
Function NomeUsuario: String;
2º - Na área de implementações, implemente-a da seguinte maneira:
function TForm1.NomeUsuario: String;
var
lpBuffer : Array[0..20] of Char;
nSize : dWord;
mRet : boolean;
erro : dWord;
begin
nSize := 120;
mRet := GetUserName(lpBuffer, nSize);
if mRet then
begin
Result := lpBuffer
end
else
begin
erro := GetLastError();
MessageDlg('Ocorreu o erro ' + IntToStr(erro) + ' ao procurar o nome logado no computador.',
mtError, [mbOk], 0);
Result := '';
end;
end;
3º - Para utilizar a função, chame-a da seguinte forma:
nomeDoUsuario := NomeUsuario;
OBS.: Para fins de compatibilidade, esta dica foi escrita usando Delphi XE3.
Fonte.: Algum lugar da Internet.
Esta foi a dica de hoje, se for útil, comentem.
Se você tem uma dica interessante, pode postar nos comentários.
Atenciosamente
Dica Chave.
Assinar:
Postagens (Atom)