About CreateProcessAsUser
C / C++ / MFC
1
Posts
1
Posters
0
Views
1
Watching
-
HANDLE hToken;
if(!GetTokenByName(hToken,"EXPLORER.EXE")) { return FALSE; } STARTUPINFO si; PROCESS\_INFORMATION pi; ZeroMemory(&si, sizeof(STARTUPINFO)); si.cb= sizeof(STARTUPINFO); si.lpDesktop = TEXT("winsta0\\\\default"); BOOL bResult = CreateProcessAsUser(hToken,"D:\\\\1.bat",NULL,NULL,NULL, FALSE,NORMAL\_PRIORITY\_CLASS,NULL,lpCurrentDir,&si,&pi);
I use CreateProcessAsUser run 1.bat attach a database to sql server 2000. 1.bat:
OSQL -E -Q "sp_attach_db @dbname = 'YDJC2', @filename1 = '%CD%\database 08-6-5\YDJC2_Data.MDF', @filename2 = '%CD%\database 08-6-5\YDJC2_Log.LDF'"
But, this database is read only attribute in sql server 2000, why? I double click mouse button to run 1.bat is OK, database is read/write attribute in sql server 2000. How to use CreateProcessAsUser to solve this problem?