Ver Mensaje Individual
  #6  
Antiguo 01-03-2009
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por yelian Ver Mensaje
...explicarme como pudiera poner el contenido de un Edit en el parámetro (L"User", // El usuario)...
Cita:
Empezado por escafandra Ver Mensaje
Te habrás fijado que esta API trabaja con wchar_t* en lugar de char*. Esta es la forma de trabajo interno de Windows.
Revisa wchar_t y las cadenas Unicode.

Código:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
   PROCESS_INFORMATION piProcInfo;
   STARTUPINFOW siStartInfo;

   // Set up members of STARTUPINFO structure.
   ZeroMemory(&siStartInfo, sizeof(STARTUPINFO));
   siStartInfo.cb = sizeof(STARTUPINFO);

   HRESULT hRes = CreateProcessWithLogonW(
     WideString(Edit1->Text.c_str()),   // L"User",   // El usuario
     WideString(Edit2->Text.c_str()),   // L".",        // El dominio
     WideString(Edit3->Text.c_str()),   // L"Password",  // El password
     LOGON_WITH_PROFILE,
     NULL,
     L"Notepad.exe", // Nombre de la aplicación
     NULL, // flags
     NULL, // entorno
     L"C:\\", // use parent's current directory
     &siStartInfo, // puntero STARTUPINFO
     &piProcInfo   // PROCESS_INFORMATION (valor devuelto)
   );

  // Liberamos los Handles que no vamos a usar 
  if(hRes){
     CloseHandle(piProcInfo.hProcess);
     CloseHandle(piProcInfo.hThread);
   }  
}
Saludos.
Responder Con Cita