Posts
27/11/2008
Guinther Pauli
Olá,
Para que possamos realizar o procedimento com certeza teremos que fazer uso da API do windows e o problema e que esta mesmo API muda de versã para versão. Qual versão esta utilizando do windows ??
Outro detalhe e que você não menciona porém provavelmente você quer fazer isso via Delphi correto ?? Qual versão do Delphi utiliza ??
No aguardo !!!
abs
Uso delphi 2006 e a versão do windows é para XP e Vista
A intenção dessa pergunta é unica e exclusivamente pelo seguinte:
- Temos um software de segurança onde gerencia todos os dispositivos amoviveis do computador (pendrivers, disquete, cd, bluetooth, etc), e ele funciona por usuario.
- Então imagine a seguinte situação:
- Usuario1 do Computador1 tem liberação para usar o pendrive;
- Usuario2 do Computador1 não tem liberação para usar o pendrive;
O sistema funciona até o momento que os dois não estão simultaneamente logados usando a troca rápida de usuários.
- Porque imagine a situação do problema:
- Usuario2 do Computador logou;
- Com isso abriu a
Postou sem querer, vou repetir o post.
A intenção dessa pergunta é unica e exclusivamente pelo seguinte:
- Temos um software de segurança onde gerencia todos os dispositivos amoviveis do computador (pendrivers, disquete, cd, bluetooth, etc), e ele funciona por usuario.
- Então imagine a seguinte situação:
- Usuario1 do Computador1 tem liberação para usar o pendrive;
- Usuario2 do Computador1 não tem liberação para usar o pendrive;
O sistema funciona até o momento que os dois não estão simultaneamente logados usando a troca rápida de usuários.
- Porque imagine a situação do problema:
- Usuario2 do Computador logou;
- Com isso a porta do pendrive está fechada;
- Ai Usuario1 chegou no computador e utilizou a troca rapida de usuarios e logou;
- Nesse momento o programa abriu para usuario1 e liberou a porta do pendrive;
- Depois de um tempo Usuario2 voltou a entrar no computador, como ele já está logado, ele apenas inicia a seção atraves da troca rapida de usuario e a Porta do Pendrive que era pra estar bloqueada, está liberada por causa do comando dado para o Usuario1.
A forma que imaginei de arrumar isso, era verificar qual usuario está realmente trabalhando, pois temos 2 usuarios logados, mas preciso saber, aquele que está usando a maquina e co um timer eu veirifcaria isso e atualizaria as portas se assim fosse necessario.
Espero ter sido claro...
sds
27/11/2008
Rodrigo Mourão
Olá,
Pelo exposto acredito que esta função poderá lhe ajudar. Ela retorna o nome o usuario logado atualmente no windows.
function GetLogado : string;
var
Size: Cardinal;
UserName: string;
begin
Size:= 25;
SetLength(UserName,Size);
if GetUserName(PChar(UserName), Size) then
begin
SetLength(UserName,Size-1);
Result := UserName;
end;
end;
Abs
É isso que preciso, mas surgiu mais uma dúvida...... tem como eu saber o exato momento que a pessoa faz o login???
Tanto na troca rapida, quanto no login inicial... Assim, meu controle ficaria muito melhor, pq ai nesse momento eu mandaria as msg de bloqueio ou liberação, conforme o usuario que está logando.....
27/11/2008
Rodrigo Mourão
Olá Alexandre !!
Peço por gentileza que abra um novo chamado para que possamos estar lhe auxiliando nesta nova dúvida.
Aguardamos seu retorno.
abs !
Ok... esse aqui pode finalizar