Article: Q195850
Product(s): Microsoft FoxPro
Version(s): WINDOWS:3.0,3.0b,5.0,5.0a,6.0
Operating System(s):
Keyword(s): kbMAPI kbvfp300 kbvfp300b kbvfp500 kbvfp500a kbvfp600
Last Modified: 27-AUG-1999
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Visual FoxPro for Windows, versions 3.0, 3.0b, 5.0, 5.0a, 6.0
-------------------------------------------------------------------------------
SUMMARY
=======
Occasionally, when you are working on MAPI-enabled FoxPro applications you might
need to determine what the default Windows Messaging profile is on a target
computer. This article demonstrates how to accomplish this using the Windows
API.
MORE INFORMATION
================
Step-by-Step Procedures
-----------------------
1. In Visual FoxPro, open a new program window by typing the following in the
Command window:
MODIFY COMMAND
2. Copy the following code into a program file:
#DEFINE HKey_CURRENT_USER 2147483649
DECLARE INTEGER RegCloseKey IN Win32API ;
INTEGER nHKey
DECLARE INTEGER RegOpenKey IN Win32API ;
INTEGER nHKey, STRING @cSubKey, INTEGER @nResult
DECLARE RegEnumValue IN ADVAPI32 INTEGER nKeyHandle, INTEGER iValue, ;
STRING @cValueName, INTEGER @iValueLen, INTEGER, STRING @cTypeCode, ;
STRING @cDataValue, INTEGER @iDataLen
nSubKey = 0
nErrCode = 0
nKeyHandle = 0
iValue = 0
cValueName = SPACE(255)
iValueLen = 255
cTypeCode = SPACE(255)
cDataValue = SPACE(255)
iDataLen = 255
*!* Determine what operating system you are on: Windows NT or
*!* Windows 9x.
IF "NT" $ OS(1)
ckey = "Software\Microsoft\Windows NT\CurrentVersion\" + ;
"Windows Messaging Subsystem\Profiles"
ELSE
ckey = "Software\Microsoft\Windows Messaging Subsystem\Profiles"
ENDIF
nErrCode = RegOpenKey(HKey_CURRENT_USER,ckey,@nKeyHandle)
*!* If nErrCode <> 0, Windows messaging is probably not installed.
IF nErrCode # 0
WAIT WINDOW "Windows Messaging Key Not Present"
RETURN nErrCode
ENDIF
RegEnumValue(nKeyHandle,0,@cValueName,@iValueLen,0,;
@cTypeCode, @cDataValue, @iDataLen)
*!* If cDataValue is blank, no profiles have been set up.
IF EMPTY(cDataValue)
WAIT WINDOW "No Windows Messaging Profiles Set"
RETURN
ELSE
? LEFT(cDataValue, iDataLen-1)
ENDIF
RegCloseKey(nKeyHandle)
3. Save and run this program.
RESULT: You should see text echoed in the main FoxPro window. This is the default
Windows Message profile for this computer.
Additional query words:
======================================================================
Keywords : kbMAPI kbvfp300 kbvfp300b kbvfp500 kbvfp500a kbvfp600
Technology : kbVFPsearch kbAudDeveloper kbVFP300 kbVFP300b kbVFP500 kbVFP600 kbVFP500a
Version : WINDOWS:3.0,3.0b,5.0,5.0a,6.0
Issue type : kbhowto
=============================================================================