Si es asi, no me parece que el problema sea en la rutina, mas bien en
como creas el proceso. Esta rutina mia la probe recien con W10 bajo
dominio y funciona joya (pero es lo mismo)
***
* Function ChangeUserAccount
* Ocasiona que el programa se ejecute utilizando una cuenta de usuario
diferente
***
Function ChangeUserAccount(cUser, cPassword, cDomain)
Local nRes
#define LOGON32_PROVIDER_DEFAULT 0
#define LOGON32_LOGON_INTERACTIVE 2
#define LOGON32_LOGON_NETWORK 3
#define LOGON32_LOGON_BATCH 4
#define LOGON32_LOGON_SERVICE 5
#define LOGON32_LOGON_UNLOCK 7
Declare Integer LogonUser IN AdvApi32.DLL ;
String lpszUsername, String lpszDomain, ;
String lpszPassword, Integer dwLogonType, ;
Integer dwLogonProvider, Integer @phToken
Declare Integer ImpersonateLoggedOnUser IN AdvApi32.DLL Integer phToken
Declare Integer CloseHandle in Win32API Integer hObject
If Type("cDomain") <> "C"
cDomain = ""
Endif
nToken = 0
nRes = 0
If LogonUser(cUser, cDomain, cPassword, LOGON32_LOGON_INTERACTIVE,
LOGON32_PROVIDER_DEFAULT, @nToken) <> 0
If ImpersonateLoggedOnUser(nToken) <> 0
nRes = nToken
else
CloseHandle(nToken)
Endif
Endif
Return(nRes)
***
* Function CloseUserAccount
* Revierte el usuario activo al anterior a la ejecucion de
ChangeUserAccount
***
Function CloseUserAccount(nHandle)
Declare integer RevertToSelf IN AdvApi32.DLL
Declare Integer CloseHandle in Win32API Integer hObject
CloseHandle(nHandle)
RevertToSelf()
EndFunc
El 25/4/2016 a las 11:08 a. m., [email protected] escribió:
Hola Pablo! Los usuarios usan Windows 7 y estamos bajo dominio, el
FileServer es un Windows 2012 R2. En la PC de los usuarios el sistema
funciona bien cuando inicia pero cuando tiene que emitir un listado
(para la cual usamos foxypreviewer) pasamos al usuario local para que
puede acceder a su disco y cuando volvemos del Foxypreviewer que tiene
que loguear con el otro usuario que tiene acceso a las base lo hace
(no da error) pero no puede acceder a las carpetas donde estan los
dbfs. Estoy haciendo difernetes pruebas pero cambios en la rutina pero
sigue sin funcionar.
Eric!
El 2016-04-24 20:23, Pablo Pioli escribió:
En que version de Windows es? Yo tengo una rutina que es basicamente
la misma y funciona hasta en Windows 10 con las ultimas actualizaciones
Saludos
El 22/4/2016 a las 3:18 p. m., [email protected] escribió:
Hola Gente Linda!!! :P
Alguien uso alguna vez o tiene en uso la rutina de Impersonater del
Australiano Bernad Bout (les paso el link)
https://www.foxite.com/faq/default.aspx?id=48#
El tema que venia funcionando bien pero despues de las
actualizaciones de Windows KB3149090/3146706 dejo de funcionar es
porque la advapi32.dll ahora es la vesion 6.1.7601.23392. de marzo
del 2016. La version anterior de Febrero trabaja sin problema.
¿Alguien tiene este problema y lo pudo arreglar?. (Por cuestiones
normas de seguridad de la empesa no puedo no tener todas las
actualizaciones que MS envia).
Saludos.
Eric!