Using Win32 functions in Visual FoxPro Image Gallery
Code examples:
Retrieving current settings for an ODBC connection
Configuring DEVMODE structure for a printer
Creating two-byte hashes for a list of URLs
Using the DrawText function
Winsock: how to retrieve a service information corresponding to a service name
Creating an Open dialog box to specify the drive, directory, and name of a file to open (Shell32 version)
Enumerating devices installed on the local machine
How to print FoxPro form -- II
Retrieving configuration information for the specified server (Win98/Me)
Saving local machine ODBC Registry Entries to XML file
Using vendor-neutral SQL constructs
Generating random cryptographic keys
Starting external program from VFP and waiting for its termination
How to ping a remote site using IP Helper API calls
Adding and deleting Scheduled Tasks using NetScheduleJob API functions
How to make a VFP form fading out when released (GDI version)
Sending a standard message with one or more attached files using default email client
Start an executable from VFP application by using the CreateProcess
Using the SetErrorMode for determining if a floppy drive is ready
Creating a console window for Visual FoxPro application
An alternative way of setting Form.Closable to False
Displaying all TCP connections for the local system
Dragging files from Explorer window and dropping them on FoxPro control (requires VFP9)
Enumerating network resources
Obtaining I/O counts for the current process

User rating: 7/10 (1 votes)
Rate this code sample:
  • ~
More code examples    Listed functions    Add comment     W32 Constants      Translate this page Printer friendly version of this code sample
#DEFINE PROCESS_QUERY_INFORMATION 0x0400
#DEFINE PROCESS_VM_READ 4
DO declare

* retrieve a handle to the current process
hProcess = OpenProcess(;
    BITOR(PROCESS_QUERY_INFORMATION,PROCESS_VM_READ),;
    0, GetCurrentProcessId()) && application.ProcessId

IF hProcess = 0
    ? "OpenProcess failed:", GetLastError()
    RETURN
ENDIF

LOCAL cBuffer
cBuffer = REPLICATE(CHR(0), 48)
= GetProcessIoCounters(hProcess, @cBuffer)

? "ReadOperationCount:", buf64ToNum(SUBSTR(cBuffer,1,8))
? "WriteOperationCount:", buf64ToNum(SUBSTR(cBuffer,9,8))
? "OtherOperationCount:", buf64ToNum(SUBSTR(cBuffer,17,8))
? "ReadTransferCount:", buf64ToNum(SUBSTR(cBuffer,25,8))
? "WriteTransferCount:", buf64ToNum(SUBSTR(cBuffer,33,8))
? "OtherTransferCount:", buf64ToNum(SUBSTR(cBuffer,41,8))

= CloseHandle(hProcess)
* end of main

FUNCTION buf64ToNum(cBuffer)
    LOCAL nLo, nHi
    nLo = buf2dword(SUBSTR(cBuffer,1,4))
    nHi = buf2dword(SUBSTR(cBuffer,5,4))
RETURN m.nLo + m.nHi * (0xffffffff+1)

FUNCTION buf2dword(lcBuffer)
RETURN Asc(SUBSTR(lcBuffer, 1,1)) + ;
    BitLShift(Asc(SUBSTR(lcBuffer, 2,1)),  8) +;
    BitLShift(Asc(SUBSTR(lcBuffer, 3,1)), 16) +;
    BitLShift(Asc(SUBSTR(lcBuffer, 4,1)), 24)

PROCEDURE declare
    DECLARE INTEGER GetLastError IN kernel32
    DECLARE INTEGER GetCurrentProcessId IN kernel32
    DECLARE INTEGER CloseHandle IN kernel32 INTEGER hObject

    DECLARE INTEGER OpenProcess IN kernel32;
        INTEGER dwDesiredAccess,;
        INTEGER bInheritHandle, INTEGER dwProcId

    DECLARE INTEGER GetProcessIoCounters IN kernel32;
        INTEGER hProcess, STRING @lpIoCounters

User rating: 7/10 (1 votes)
Rate this code sample:
  • ~
1586 bytes  
Created: 2008-03-26 17:14:26  
Modified: 2008-03-26 17:16:36  
Visits in 7 days: 82  
Listed functions:
CloseHandle
GetCurrentProcessId
GetLastError
GetProcessIoCounters
OpenProcess
Printer friendly API declarations
My comment:
The IO_COUNTERS structure contains I/O accounting information for a process or a job object. For a job object, the counters include all operations performed by all processes that have ever been associated with the job, in addition to all processes currently associated with the job.
Word Index links for this example:
Translate this page:
  Spanish    Portuguese    German    French    Italian  
FreeTranslation.com offers instant, free translations of text or web pages.
User Contributed Notes:
There are no notes on this subject.


Copyright 2001-2014 News2News, Inc. Before reproducing or distributing any data from this site please ask for an approval from its owner. Unless otherwise specified, this page is for your personal and non-commercial use. The information on this page is presented AS IS, meaning that you may use it at your own risk. Microsoft Visual FoxPro and Windows are trade marks of Microsoft Corp. All other trademarks are the property of their respective owners. 

Privacy policy
Credits: PHP (4.4.9), an HTML-embedded scripting language, MySQL (5.1.68), the Open Source standard SQL database, AceHTML Freeware Version 4, freeware HTML Editor of choice.   Hosted by Korax Online Inc.
Last Topics Visited (23.20.20.195)
4 sec.Solution: 'ContextMenu ActiveX Control'
6 sec.Example: 'How to enumerate terminal servers within the specified Windows domain'
10 sec.Function: 'CryptHashData'
Function group: 'Cryptography Reference'
13 sec.Function: 'GetProp'
Google
Advertise here!