Bienvenido y disfruta el nuevo diseño del sitio web.... agradecería me envíes tus comentarios acerca de los cambios realizados

Para descargar cualquier archivo es necesario estar registrado y hacer click en el titulo del archivo a descargar

NetUserDelete

Visual Fox Pro, Funciones API Comentarios ( 0 ) »

Borra
un usuario de Windows NT




tcServer = "Nombre_ruta_servidor"

tcUserName = "dav"



DECLARE INTEGER NetUserDel IN NETAPI32 STRING @,STRING @




tcServer=STRCONV(STRCONV(tcServer,1),5)+CHR(0)




tcUserName=STRCONV(STRCONV(tcUserName,1),5)+CHR(0)




LOCAL lnError

lnError=NetUserDel(@tcServer,@tcUserName)




IF lnError>0

      MESSAGEBOX(_Imposible borrar Usuario_)

ENDIF

Por: David Amador T

IsIconic

Visual Fox Pro, Funciones API Comentarios ( 0 ) »
Devuelve un valor el cual determina si
la aplicación pasada a la función se encuentra minimizada. En este
caso determina si la aplicación activa se encuentra minimizada.

 

Declare integer IsIconic in "user32.dll" Long hwnd 



?IsIconic(thisForm.hWnd) 
 
&& Solo para Visual Fox Pro 7.0


Para Visual Fox Pro 6.0 y 5.0


Declare integer GetActiveWindow in win32api


Declare integer IsIconic in "user32.dll" Long hwnd 


ApliActiva = GetActivateWindow()

?IsIconic(ApliActiva) 


Por: David Amador T

IsZoomed

Visual Fox Pro, Funciones API Comentarios ( 0 ) »
Devuelve un valor el cual determina si
la aplicación pasada a la función se encuentra maximizada. En este
caso determina si la aplicación activa se encuentra maximizada.

 

Declare integer IsZoomed  in "user32.dll" Long hwnd 



?IsZoomed (thisForm.hWnd) 
 
&& Solo para Visual Fox Pro 7.0


Para Visual Fox Pro 6.0 y 5.0


Declare integer GetActiveWindow in win32api


Declare integer IsZoomed  in "user32.dll" Long hwnd 


ApliActiva = GetActivateWindow()

?IsZoomed (ApliActiva) 


Por: David Amador T

Keybd_event

Visual Fox Pro, Funciones API Comentarios ( 0 ) »
Esta función tiene múltiples propósitos,
pero todos ellos enfocados al manejo de ventanas.
Podemos capturar la ventana
activa a través de esta función.  He recibido muchas consultas sobre este tema;
así que aquí esta.


DECLARE INTEGER keybd_event IN Win32API ;

INTEGER, INTEGER, INTEGER, INTEGER






VK_SNAPSHOT = 44 

VK_LMENU = 164

KEYEVENTF_KEYUP = 2

KEYEVENTF_EXTENDEDKEY = 1 



DOEVENTS

keybd_event(VK_SNAPSHOT, 1, 0, 0 )

keybd_event(VK_SNAPSHOT, 1, KEYEVENTF_KEYUP, 0 )

DOEVENTS 



DOEVENTS

keybd_event( VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY, 0 )  

keybd_event( VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY, 0 )

keybd_event( VK_SNAPSHOT, 0, KEYEVENTF_EXTENDEDKEY + ; KEYEVENTF_KEYUP, 0 )

keybd_event( VK_LMENU, 0, KEYEVENTF_EXTENDEDKEY + ; KEYEVENTF_KEYUP, 0 ) 

DOEVENTS 




Otra utilidad de esta función es minimizar
todas las ventanas que se encuentran activas, esto también es posible con
las funciones Findwindow y Postmessage.


Declare integer keybd_event in "user32" ;

integer, integer, long, Long 



#define KEYEVENTF_KEYUP 2

#define VK_LWIN 91



=keybd_event(VK_LWIN, 0, 0, 0)

=keybd_event(77, 0, 0, 0)

=keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0)


Por: David Amador T

LockWindowUpdate

Visual Fox Pro, Funciones API Comentarios ( 0 ) »
Impide la actualización de una ventana o la
actualiza dependiendo el valor pasado como parámetro. Para esto le pasamos el
handle de la ventana, en este caso se bloqueara la ventana activa.



 



Bloquea la ventana activa


DECLARE SHORT LockWindowUpdate IN WIN32API INTEGER hWnd



DECLARE INTEGER GetActiveWindow IN WIN32API

  =LockWindowUpdate(GetActiveWindow())


Para desbloquear la ventana activa


=LockWindowUpdate(0)


Por: David Amador T

MessageBoxEx:

Visual Fox Pro, Funciones API Comentarios ( 0 ) »
Esta función manda un mensaje de Windows, es una extensión
de la función MessageBox, pero mucho mas completa e interesante.

 

Declare integer MessageBoxEx in "user32";

Long hwnd,;

String lpText,;

String lpCaption,;

Long uType,;

Long wLanguageId





=MessageBoxEx(0,"Mensaje para probar función api","API",0,0)


Por: David Amador T

mciExecute

Visual Fox Pro, Funciones API Comentarios ( 0 ) »
Otra función para reproducir un sonido WAV. No
estoy seguro si se puede reproducir sonidos de otra extensión tales como MIDIS.
Intente y cuéntenme



 


Declare integer mciExecute in "winmm.dll" String lpstrCommand 


&& Debe existir el archivo DING.WAV en
la ruta especificada.

iResult = mciExecute("Play c:windowsding.wav")


Por: David Amador T

mciSendString

Visual Fox Pro, Funciones API Comentarios ( 0 ) »
Algunas veces queremos implementar una
característica multimedia a nuestras aplicaciones, esta función permite
reproducir un video creo que de cualquier extensión. Este crea una ventana especial donde se reproduce el video.
Posee otras utilidades referentes a la multimedia

Declare integer mciSendString in "winmm.dll";

String pstrCommand, ;

String lpstrReturnString, ;

Long uReturnLength, ;

Long hwndCallback



&&& Debe existir un archivo llamado COOL.AVI en C:



cVal = "play c:cool.avi"  

ReturnVal = mciSendString(cVal, 0, 0, 1)


&& Si queremos ver el video a pantalla
completa


cVal = "play
c:cool.avi fullScreen"  





Enviamos una cadena a la función mciSendString la
cual hará que se cierre la unidad de CD-ROM


Declare integer mciSendString in "winmm.dll" ;

String lpstrCommand, ;

String lpstrReturnString,;

Long uReturnLength,;

Long hwndCallback





= mcisendstring("set CDAudio door closed", "", 127, 0) 




Enviamos una cadena a la función mciSendString la
cual hará que se abra la unidad de CD-ROM


Declare integer mciSendString in "winmm.dll" ;

String lpstrCommand, ;

String lpstrReturnString,;

Long uReturnLength,;

Long hwndCallback



retvalue = mcisendstring("set CDAudio door open","", 127, 0) 


Por: David Amador T

PostMessage

Visual Fox Pro, Funciones API Comentarios ( 0 ) »
Una de las utilidades de la función PostMessage es
comunicarse con las ventanas y controles pero de manera diferente que la
función Sendmessage.

En este caso se le pasara el titulo de una
ventana y a través de la función FindWindow se obtendrá el handle de ella y se
le pasara el argumento para cerrar esta ventana. El ejemplo se explica con la
ventana Panel de Control; por lo tanto abra esta ventana





Declare integer PostMessage in "user32" ;

Long hwnd, Long wMsg, Long wParam, Long lParam



#define WM_CLOSE 16



Declare integer FindWindow in "user32" ;

string lpClassName, string lpWindowName



cCerrar = FindWindow(0,"Panel de control")



=PostMessage(cCerrar ,WM_CLOSE, 0, 0)






También podemos utilizar estas dos
funciones (FindWindow y PostMessage) para minimizar y restaurar todas las
ventanas activas; esta caracteristicas también es posible con la función
Keyb_Event.



Declare integer PostMessage in "user32"; 

Long hWnd, Long wMsg, Long wParam, Long lParam 

 

Declare integer FindWindow in "user32"
;

String lpClassName,;

String lpWindowName 







#define WM_COMMAND 273

#define MIN_ALL 419

#define MIN_ALL_UNDO 416 



&&restaura todo lo minimizado 

lngHwnd = FindWindow("Shell_TrayWnd", "")

=PostMessage(lngHwnd, WM_COMMAND, MIN_ALL_UNDO , 0) 



&& Minimiza todo

lngHwnd = FindWindow("Shell_TrayWnd", "")

=PostMessage(lngHwnd, WM_COMMAND, MIN_ALL , 0) 

Por: David Amador T

RegisterServiceProcess

Visual Fox Pro, Funciones API Comentarios ( 0 ) »
He recibido muchas consultas de como evitar que la
aplicación aparezca registrada cuando presionamos la combinación de teclas ALT
+ CTRL + SUP. Bueno aquí esta la solución.


LOCAL n_CurrProc



DECLARE LONG RegisterServiceProcess IN KERNEL32.DLL ;

LONG ProcessID, ;

LONG ServiceFlags



DECLARE LONG GetCurrentProcessId IN KERNEL32.DLL ;



&& obtiene el identificador de proceso

n_CurrProc = GetCurrentProcessId()



lOcultarApp = .f.

IF lOcultarApp = .T.



&& remueve el flag (bandera) de servicio

RegisterServiceProcess(n_CurrProc, 1)



ELSE



&& crea el falg (bandera) de servicio de la aplicación

RegisterServiceProcess(n_CurrProc, 0)



ENDIF


Por: David Amador T

SendMessage

Visual Fox Pro, Funciones API Comentarios ( 0 ) »
La función SendMessage se utiliza para establecer
una comunicación con otra aplicación, pasándole los parámetros podemos cerrar
una aplicación, etc. Además podemos interactuar con controles tales como
Combos, Listas especialmente pronto publicare un ejemplo con estas.

En este caso ejecuta el protector de pantalla que
se encuentre configurado. 




Declare integer SendMessage in "user32" ;

Long hwnd,;

Long wMsg,;

Long wParam,;

Long lParam



Declare integer GetActiveWindow in win32api



=SendMessage(GetActiveWindow(), 274, 61760, 0)


Por: David Amador T

SetComputerName

Visual Fox Pro, Funciones API Comentarios ( 0 ) »
Se utiliza cuando queremos cambiar el nombre de un
computador en la red. Es decir, se cambiara el nombre del equipo. En este
caso se le colocará al computador el nombre de Equipo_1.

Declare integer SetComputerName in "kernel32" ;

String lpComputerName 



=SetComputerName("Equipo_1") 


Por: David Amador T

SetCurrentDirectory

Visual Fox Pro, Funciones API Comentarios ( 0 ) »
Establece el directorio para la búsqueda
de archivo.
Importante cuando queremos abrir tablas, formularios, etc, desde una ruta
determinada. 


Es mejor que la función de VFP SET DEFAULT TO
"RUTA"



Declare integer SetCurrentDirectory in "kernel32";

String lpPathName



=SetCurrentDirectory("c:")


Por: David Amador T

SystemParametersInfo

Visual Fox Pro, Funciones API Comentarios ( 0 ) »

Esta función tiene muchas
utilidades. En este ejemplo cambia el papel
tapiz de Windows, este ejemplo pide
que busque un archivo con extensión BMP para colocarlo de papel tapiz.
  



Declare integer SystemParametersInfo in "user32";

Long uAction,;

Long uParam,; 

string lpvParam,;

Long fuWinIni





lfFile = getfile()



IF !empty(lfFile)

= SystemParametersInfo(20, 0,lfFile, 1)

ENDIF


Por: David Amador T

SetSystemPowerState

Visual Fox Pro, Funciones API Comentarios ( 0 ) »

Con esta función API podemos implementar la opción
SUSPENDER que viene con Windows, es decir, el equipo entrara en un estado de
hibernación.



Declare integer SetSystemPowerState in "kernel32";

Long fSuspend,;

Long fForce



=SetSystemPowerState(1,0)


Por: David Amador T