Rieccomi con un problema con le API di Winzozz... vorrei eseguire un programma come altro utente da quello attualmente loggato (l'equivalente di cliccare col tasto destro sull'eseguibile e andare su Esegui come...); per far questo ho cercato un po' sulla rete e ho trovato la funzione CreateProcessWithLogonW che mi sembra quella più adatta. Ecco il codice:Innanzitutto non sono sicuro di aver inserito correttamente i parametri della funzione; io vorrei semplicemente che venga eseguito install.exe con i privilegi di paolo, senza caricare le informazioni dell'utente da HKEY_USERS (come ho detto prima, come se facessi click su Esegui come...). Il problema però è un altro: quando compilo, Dev-C++ mi dà un errore "[Linker error] undefined reference to `CreateProcessWithLogonW' ", come se non avessi incluso l'header della libreria giusto. Qualcuno sa dirmi dove potrebbe essere l'errore?#define _WIN32_WINNT NTDDI_WIN2K
#define UNICODE
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
#include <winbase.h>
#include <userenv.h>
int main(int argc, char *argv[])
{
PROCESS_INFORMATION pi = {0};
STARTUPINFO si = {0};
si.cb = sizeof(STARTUPINFO);
CreateProcessWithLogonW("paolo", ".", "password", 0, "install.exe", NULL, 0x04000210, NULL, NULL, &si, &pi);
return 0;
}
KB su CreateProcessWithLogonW