diff options
-rw-r--r-- | meta2/api.cpp | 48 | ||||
-rw-r--r-- | meta2/api.h | 38 | ||||
-rw-r--r-- | meta2/common.h | 6 | ||||
-rw-r--r-- | meta2/edit_meta.cpp | 2 | ||||
-rw-r--r-- | meta2/import.cpp | 4 | ||||
-rw-r--r-- | meta2/menu.cpp | 14 | ||||
-rw-r--r-- | meta2/meta2.sln | 12 | ||||
-rw-r--r-- | meta2/meta2.vcproj | 419 | ||||
-rw-r--r-- | meta2/options.cpp | 2 | ||||
-rw-r--r-- | meta2/priorities.cpp | 2 | ||||
-rw-r--r-- | meta2/proto.cpp | 38 | ||||
-rw-r--r-- | meta2/select_meta.cpp | 4 |
12 files changed, 507 insertions, 82 deletions
diff --git a/meta2/api.cpp b/meta2/api.cpp index 6988215..4eae79c 100644 --- a/meta2/api.cpp +++ b/meta2/api.cpp @@ -13,33 +13,33 @@ void FireSubcontactsChanged(HANDLE hMeta) { //wParam=(HANDLE)hSubContact
//lParam=0
//returns a handle to the parent metacontact, or null if this contact is not a subcontact
-int MetaAPI_GetMeta(WPARAM wParam, LPARAM lParam) {
- return (int)(HANDLE)DBGetContactSettingDword((HANDLE)wParam, MODULE, "Handle", 0);
+INT_PTR MetaAPI_GetMeta(WPARAM wParam, LPARAM lParam) {
+ return (INT_PTR)(HANDLE)DBGetContactSettingDword((HANDLE)wParam, MODULE, "Handle", 0);
}
//gets the handle for the default contact
//wParam=(HANDLE)hMetaContact
//lParam=0
//returns a handle to the default contact, or null on failure
-int MetaAPI_GetDefault(WPARAM wParam, LPARAM lParam) {
+INT_PTR MetaAPI_GetDefault(WPARAM wParam, LPARAM lParam) {
HANDLE hMeta = (HANDLE)wParam;
if(metaMap.exists(hMeta) == false || metaMap[hMeta].size() == 0) return 0;
int def = DBGetContactSettingByte(hMeta, MODULE, "Default", -1);
if(def < 0 || def >= metaMap[hMeta].size()) return 0;
- return (int)metaMap[hMeta][def].handle();
+ return (INT_PTR)metaMap[hMeta][def].handle();
}
//gets the contact number for the default contact
//wParam=(HANDLE)hMetaContact
//lParam=0
//returns an int contact number, or -1 on failure
-int MetaAPI_GetDefaultNum(WPARAM wParam, LPARAM lParam) {
+INT_PTR MetaAPI_GetDefaultNum(WPARAM wParam, LPARAM lParam) {
HANDLE hMeta = (HANDLE)wParam;
if(metaMap.exists(hMeta) == false || metaMap[hMeta].size() == 0) return -1;
- int def = DBGetContactSettingByte(hMeta, MODULE, "Default", -1);
+ INT_PTR def = DBGetContactSettingByte(hMeta, MODULE, "Default", -1);
if(def < 0 || def >= metaMap[hMeta].size()) return -1;
return def;
}
@@ -48,8 +48,8 @@ int MetaAPI_GetDefaultNum(WPARAM wParam, LPARAM lParam) { //wParam=(HANDLE)hMetaContact
//lParam=0
//returns a handle to the 'most online' contact
-int MetaAPI_GetMostOnline(WPARAM wParam, LPARAM lParam) {
- return (int)Meta_GetMostOnline((HANDLE)wParam);
+INT_PTR MetaAPI_GetMostOnline(WPARAM wParam, LPARAM lParam) {
+ return (INT_PTR)Meta_GetMostOnline((HANDLE)wParam);
}
//gets the handle for the 'active' messaging contact (the one new messages will be sent to,
@@ -58,15 +58,15 @@ int MetaAPI_GetMostOnline(WPARAM wParam, LPARAM lParam) { //lParam=0
//returns a handle to the 'most online' contact
//added with meta2 (2007/10/4)
-int MetaAPI_GetActiveContact(WPARAM wParam, LPARAM lParam) {
- return (int)Meta_GetActive((HANDLE)wParam);
+INT_PTR MetaAPI_GetActiveContact(WPARAM wParam, LPARAM lParam) {
+ return (INT_PTR)Meta_GetActive((HANDLE)wParam);
}
//gets the number of subcontacts for a metacontact
//wParam=(HANDLE)hMetaContact
//lParam=0
//returns an int representing the number of subcontacts for the given metacontact, or -1 on failure
-int MetaAPI_GetNumContacts(WPARAM wParam, LPARAM lParam) {
+INT_PTR MetaAPI_GetNumContacts(WPARAM wParam, LPARAM lParam) {
HANDLE hMeta = (HANDLE)wParam;
if(metaMap.exists(hMeta)) return metaMap[hMeta].size();
return -1;
@@ -76,7 +76,7 @@ int MetaAPI_GetNumContacts(WPARAM wParam, LPARAM lParam) { //wParam=(HANDLE)hMetaContact
//lParam=(int)contact number
//returns a handle to the specified subcontact
-int MetaAPI_GetContact(WPARAM wParam, LPARAM lParam) {
+INT_PTR MetaAPI_GetContact(WPARAM wParam, LPARAM lParam) {
HANDLE hMeta = (HANDLE)wParam;
if(metaMap.exists(hMeta) && lParam >= 0 && metaMap[hMeta].size() > lParam) return (int)metaMap[hMeta][lParam].handle();
return 0;
@@ -86,7 +86,7 @@ int MetaAPI_GetContact(WPARAM wParam, LPARAM lParam) { //wParam=(HANDLE)hMetaContact
//lParam=(int)contact number
//returns 0 on success
-int MetaAPI_SetDefaultContactNum(WPARAM wParam, LPARAM lParam) {
+INT_PTR MetaAPI_SetDefaultContactNum(WPARAM wParam, LPARAM lParam) {
HANDLE hMeta = (HANDLE)wParam;
DWORD num_contacts = metaMap.exists(hMeta) ? metaMap[hMeta].size() : -1;
if(num_contacts < 0)
@@ -106,7 +106,7 @@ int MetaAPI_SetDefaultContactNum(WPARAM wParam, LPARAM lParam) { //wParam=(HANDLE)hMetaContact
//lParam=(HANDLE)hSubcontact
//returns 0 on success
-int MetaAPI_SetDefaultContact(WPARAM wParam, LPARAM lParam) {
+INT_PTR MetaAPI_SetDefaultContact(WPARAM wParam, LPARAM lParam) {
HANDLE hMeta = (HANDLE)wParam, hSub = (HANDLE)lParam;
HANDLE hMetaFromSub = (HANDLE)DBGetContactSettingDword(hSub, MODULE, "Handle", 0);
if(hMetaFromSub != hMeta || metaMap.exists(hMeta) == false)
@@ -128,7 +128,7 @@ int MetaAPI_SetDefaultContact(WPARAM wParam, LPARAM lParam) { //wParam=(HANDLE)hMetaContact
//lParam=(int)contact number
//returns 0 on success
-int MetaAPI_ForceSendContactNum(WPARAM wParam, LPARAM lParam) {
+INT_PTR MetaAPI_ForceSendContactNum(WPARAM wParam, LPARAM lParam) {
HANDLE hMeta = (HANDLE)wParam;
int contact_num = (int)lParam;
if(!hMeta || metaMap.exists(hMeta) == false || contact_num < 0 || contact_num >= metaMap[hMeta].size() || DBGetContactSettingByte(hMeta, MODULE, "ForceDefault", 0))
@@ -149,7 +149,7 @@ int MetaAPI_ForceSendContactNum(WPARAM wParam, LPARAM lParam) { //wParam=(HANDLE)hMetaContact
//lParam=(HANDLE)hSubcontact
//returns 0 on success (will fail if 'force default' is in effect)
-int MetaAPI_ForceSendContact(WPARAM wParam, LPARAM lParam) {
+INT_PTR MetaAPI_ForceSendContact(WPARAM wParam, LPARAM lParam) {
HANDLE hMeta = (HANDLE)wParam, hSub = (HANDLE)lParam;
HANDLE hMetaFromSub = (HANDLE)DBGetContactSettingDword(hSub, MODULE, "Handle", 0);
if(!hSub || !hMeta || hMetaFromSub != hMeta || !metaMap.exists(hMeta) || metaMap[hMeta].index_of(hSub) == -1 || DBGetContactSettingByte(hMeta, MODULE, "ForceDefault", 0))
@@ -165,7 +165,7 @@ int MetaAPI_ForceSendContact(WPARAM wParam, LPARAM lParam) { //wParam=(HANDLE)hMetaContact
//lParam=0
//returns 0 on success (will fail if 'force default' is in effect)
-int MetaAPI_UnforceSendContact(WPARAM wParam, LPARAM lParam) {
+INT_PTR MetaAPI_UnforceSendContact(WPARAM wParam, LPARAM lParam) {
if(DBGetContactSettingByte((HANDLE)wParam, MODULE, "ForceDefault", 0) == 0)
return 1;
@@ -182,7 +182,7 @@ int MetaAPI_UnforceSendContact(WPARAM wParam, LPARAM lParam) { //wParam=(HANDLE)hMetaContact
//lParam=0
//returns 1(true) or 0(false) representing new state of 'force default'
-int MetaAPI_ForceDefault(WPARAM wParam, LPARAM lParam) {
+INT_PTR MetaAPI_ForceDefault(WPARAM wParam, LPARAM lParam) {
int old_state = DBGetContactSettingByte((HANDLE)wParam, MODULE, "ForceDefault", 0);
DBWriteContactSettingByte((HANDLE)wParam, MODULE, "ForceDefault", old_state ? 0 : 1);
return old_state ? 0 : 1;
@@ -194,7 +194,7 @@ int MetaAPI_ForceDefault(WPARAM wParam, LPARAM lParam) { // if lparam supplied, the contact_number of the contatct 'in force' will be copied to the address it points to,
// or if none is in force, the value (DWORD)-1 will be copied
// (v0.8.0.8+ returns 1 if 'force default' is true with *lParam == default contact number, else returns 0 with *lParam as above)
-int MetaAPI_GetForceState(WPARAM wParam, LPARAM lParam) {
+INT_PTR MetaAPI_GetForceState(WPARAM wParam, LPARAM lParam) {
HANDLE hMeta = (HANDLE)wParam;
HANDLE hContact;
@@ -218,7 +218,7 @@ int MetaAPI_GetForceState(WPARAM wParam, LPARAM lParam) { // method to get protocol name - used to be sure you're dealing with a "real" metacontacts plugin :)
// wParam=lParam=0
-int MetaAPI_GetProtoName(WPARAM wParam, LPARAM lParam) {
+INT_PTR MetaAPI_GetProtoName(WPARAM wParam, LPARAM lParam) {
return (int)MODULE;
}
@@ -226,7 +226,7 @@ int MetaAPI_GetProtoName(WPARAM wParam, LPARAM lParam) { // wParam=(HANDLE)hContact
// lParam=0
// convert a given contact into a metacontact
-int MetaAPI_ConvertToMeta(WPARAM wParam, LPARAM lParam) {
+INT_PTR MetaAPI_ConvertToMeta(WPARAM wParam, LPARAM lParam) {
return (int)Meta_Convert((HANDLE)wParam);
}
@@ -234,7 +234,7 @@ int MetaAPI_ConvertToMeta(WPARAM wParam, LPARAM lParam) { // wParam=(HANDLE)hContact
// lParam=(HANDLE)hMeta
// add an existing contact to a metacontact
-int MetaAPI_AddToMeta(WPARAM wParam, LPARAM lParam) {
+INT_PTR MetaAPI_AddToMeta(WPARAM wParam, LPARAM lParam) {
Meta_Assign((HANDLE)wParam, (HANDLE)lParam);
return 0;
}
@@ -243,7 +243,7 @@ int MetaAPI_AddToMeta(WPARAM wParam, LPARAM lParam) { // wParam=0
// lParam=(HANDLE)hContact
// remove a contact from a metacontact
-int MetaAPI_RemoveFromMeta(WPARAM wParam, LPARAM lParam) {
+INT_PTR MetaAPI_RemoveFromMeta(WPARAM wParam, LPARAM lParam) {
Meta_Remove((HANDLE)lParam);
return 0;
}
@@ -254,7 +254,7 @@ int MetaAPI_RemoveFromMeta(WPARAM wParam, LPARAM lParam) { // enable/disable the 'hidden group hack' - for clists that support subcontact hiding using 'IsSubcontact' setting
// should be called once in your 'onmodulesloaded' event handler
bool meta_group_hack_disabled = false;
-int MetaAPI_DisableHiddenGroup(WPARAM wParam, LPARAM lParam) {
+INT_PTR MetaAPI_DisableHiddenGroup(WPARAM wParam, LPARAM lParam) {
meta_group_hack_disabled = (BOOL)wParam;
return 0;
}
diff --git a/meta2/api.h b/meta2/api.h index cfcf5e5..ee4fec1 100644 --- a/meta2/api.h +++ b/meta2/api.h @@ -1,24 +1,24 @@ #include <m_metacontacts.h>
-int MetaAPI_GetMeta(WPARAM wParam, LPARAM lParam);
-int MetaAPI_GetDefault(WPARAM wParam, LPARAM lParam);
-int MetaAPI_GetDefaultNum(WPARAM wParam, LPARAM lParam);
-int MetaAPI_GetMostOnline(WPARAM wParam, LPARAM lParam);
-int MetaAPI_GetActiveContact(WPARAM wParam, LPARAM lParam);
-int MetaAPI_GetNumContacts(WPARAM wParam, LPARAM lParam);
-int MetaAPI_GetContact(WPARAM wParam, LPARAM lParam);
-int MetaAPI_SetDefaultContactNum(WPARAM wParam, LPARAM lParam);
-int MetaAPI_SetDefaultContact(WPARAM wParam, LPARAM lParam);
-int MetaAPI_ForceSendContactNum(WPARAM wParam, LPARAM lParam);
-int MetaAPI_ForceSendContact(WPARAM wParam, LPARAM lParam);
-int MetaAPI_UnforceSendContact(WPARAM wParam, LPARAM lParam);
-int MetaAPI_ForceDefault(WPARAM wParam, LPARAM lParam);
-int MetaAPI_GetForceState(WPARAM wParam, LPARAM lParam);
-int MetaAPI_GetProtoName(WPARAM wParam, LPARAM lParam);
-int MetaAPI_ConvertToMeta(WPARAM wParam, LPARAM lParam);
-int MetaAPI_AddToMeta(WPARAM wParam, LPARAM lParam);
-int MetaAPI_RemoveFromMeta(WPARAM wParam, LPARAM lParam);
-int MetaAPI_DisableHiddenGroup(WPARAM wParam, LPARAM lParam);
+INT_PTR MetaAPI_GetMeta(WPARAM wParam, LPARAM lParam);
+INT_PTR MetaAPI_GetDefault(WPARAM wParam, LPARAM lParam);
+INT_PTR MetaAPI_GetDefaultNum(WPARAM wParam, LPARAM lParam);
+INT_PTR MetaAPI_GetMostOnline(WPARAM wParam, LPARAM lParam);
+INT_PTR MetaAPI_GetActiveContact(WPARAM wParam, LPARAM lParam);
+INT_PTR MetaAPI_GetNumContacts(WPARAM wParam, LPARAM lParam);
+INT_PTR MetaAPI_GetContact(WPARAM wParam, LPARAM lParam);
+INT_PTR MetaAPI_SetDefaultContactNum(WPARAM wParam, LPARAM lParam);
+INT_PTR MetaAPI_SetDefaultContact(WPARAM wParam, LPARAM lParam);
+INT_PTR MetaAPI_ForceSendContactNum(WPARAM wParam, LPARAM lParam);
+INT_PTR MetaAPI_ForceSendContact(WPARAM wParam, LPARAM lParam);
+INT_PTR MetaAPI_UnforceSendContact(WPARAM wParam, LPARAM lParam);
+INT_PTR MetaAPI_ForceDefault(WPARAM wParam, LPARAM lParam);
+INT_PTR MetaAPI_GetForceState(WPARAM wParam, LPARAM lParam);
+INT_PTR MetaAPI_GetProtoName(WPARAM wParam, LPARAM lParam);
+INT_PTR MetaAPI_ConvertToMeta(WPARAM wParam, LPARAM lParam);
+INT_PTR MetaAPI_AddToMeta(WPARAM wParam, LPARAM lParam);
+INT_PTR MetaAPI_RemoveFromMeta(WPARAM wParam, LPARAM lParam);
+INT_PTR MetaAPI_DisableHiddenGroup(WPARAM wParam, LPARAM lParam);
void FireSubcontactsChanged(HANDLE hMeta);
diff --git a/meta2/common.h b/meta2/common.h index 59378c9..6789908 100644 --- a/meta2/common.h +++ b/meta2/common.h @@ -49,13 +49,9 @@ #include <m_utils.h>
#include <m_ignore.h>
-#include <m_yapp.h>
+#include <m_popup.h>
#include <m_updater.h>
-#ifndef PF4_IMSENDOFFLINE
-#define PF4_IMSENDOFFLINE 0x00000100 // protocol is able to send offline messages (v.0.8.0+ 2007/10/3)
-#endif
-
#include "m_metacontacts.h"
#include "collection.h"
diff --git a/meta2/edit_meta.cpp b/meta2/edit_meta.cpp index 983770d..839a15a 100644 --- a/meta2/edit_meta.cpp +++ b/meta2/edit_meta.cpp @@ -123,7 +123,7 @@ void ApplyChanges() { }
#define WMU_SET_BUTTONS (WM_USER + 0x100)
-BOOL CALLBACK Meta_EditDialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
+INT_PTR CALLBACK Meta_EditDialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
switch(msg) {
case WM_INITDIALOG:
TranslateDialogDefault( hwndDlg );
diff --git a/meta2/import.cpp b/meta2/import.cpp index 8328584..ac0b073 100644 --- a/meta2/import.cpp +++ b/meta2/import.cpp @@ -47,7 +47,7 @@ void CreateNewMetas() { }
}
-BOOL CALLBACK DlgProcImport(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
+INT_PTR CALLBACK DlgProcImport(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
switch ( msg ) {
case WM_INITDIALOG:
TranslateDialogDefault( hwndDlg );
@@ -76,7 +76,7 @@ BOOL CALLBACK DlgProcImport(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam #define WMU_SETPERCENT (WM_USER + 0x100)
#define WMU_SETCONTACT (WM_USER + 0x101)
-BOOL CALLBACK DlgProcProgress(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
+INT_PTR CALLBACK DlgProcProgress(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg) {
case WM_INITDIALOG:
diff --git a/meta2/menu.cpp b/meta2/menu.cpp index 758f5dc..8b68ca9 100644 --- a/meta2/menu.cpp +++ b/meta2/menu.cpp @@ -12,7 +12,7 @@ HANDLE hServiceMenuOnOff = 0, hServiceMenuConvert = 0, hServiceMenuAdd = 0, hSer HANDLE hMenuOnOff = 0, hMenuConvert = 0, hMenuAdd = 0, hMenuEdit = 0, hMenuDefault = 0, hMenuRemove = 0;
POINT menuMousePoint;
-int ServiceMenuOnOff(WPARAM wParam, LPARAM lParam) {
+INT_PTR ServiceMenuOnOff(WPARAM wParam, LPARAM lParam) {
DBWriteContactSettingByte(0, MODULE, "Enabled", MetaEnabled() ? 0 : 1);
Meta_Hide(!MetaEnabled());
@@ -28,13 +28,13 @@ int ServiceMenuOnOff(WPARAM wParam, LPARAM lParam) { HANDLE hEventMenuBuild = 0;
-int ContactMenuConvert(WPARAM wParam, LPARAM lParam) {
+INT_PTR ContactMenuConvert(WPARAM wParam, LPARAM lParam) {
HANDLE hContact = (HANDLE)wParam;
Meta_Convert(hContact);
return 0;
}
-int ContactMenuAdd(WPARAM wParam, LPARAM lParam) {
+INT_PTR ContactMenuAdd(WPARAM wParam, LPARAM lParam) {
HANDLE hContact = (HANDLE)wParam;
TCHAR buff[256];
mir_sntprintf(buff, 256, TranslateT("Adding %s..."), ContactName(hContact));
@@ -44,21 +44,21 @@ int ContactMenuAdd(WPARAM wParam, LPARAM lParam) { return 0;
}
-int ContactMenuRemove(WPARAM wParam, LPARAM lParam) {
+INT_PTR ContactMenuRemove(WPARAM wParam, LPARAM lParam) {
HANDLE hContact = (HANDLE)wParam;
Meta_Remove(hContact);
return 0;
}
-int ContactMenuEdit(WPARAM wParam, LPARAM lParam) {
+INT_PTR ContactMenuEdit(WPARAM wParam, LPARAM lParam) {
HANDLE hContact = (HANDLE)wParam;
EditMeta(hContact);
return 0;
}
-int ContactMenuDefault(WPARAM wParam, LPARAM lParam) {
+INT_PTR ContactMenuDefault(WPARAM wParam, LPARAM lParam) {
HANDLE hSub = (HANDLE)wParam,
hMeta = (HANDLE)DBGetContactSettingDword(hSub, MODULE, "Handle", 0);
@@ -87,7 +87,7 @@ DWORD CALLBACK sttMenuFunc( LPVOID param ) return 0;
}
-int Meta_ContactMenuFunc(WPARAM wParam, LPARAM lParam) {
+INT_PTR Meta_ContactMenuFunc(WPARAM wParam, LPARAM lParam) {
char buff[1024];
HANDLE hMeta = (HANDLE)wParam;
int contact_num = (int)lParam;
diff --git a/meta2/meta2.sln b/meta2/meta2.sln index 422b130..d3f8a53 100644 --- a/meta2/meta2.sln +++ b/meta2/meta2.sln @@ -6,19 +6,31 @@ EndProject Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug (Unicode)|Win32 = Debug (Unicode)|Win32
+ Debug (Unicode)|x64 = Debug (Unicode)|x64
Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
Release (Unicode)|Win32 = Release (Unicode)|Win32
+ Release (Unicode)|x64 = Release (Unicode)|x64
Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C7542E4E-BCC9-4620-8C72-77DBD8119186}.Debug (Unicode)|Win32.ActiveCfg = Debug (Unicode)|Win32
{C7542E4E-BCC9-4620-8C72-77DBD8119186}.Debug (Unicode)|Win32.Build.0 = Debug (Unicode)|Win32
+ {C7542E4E-BCC9-4620-8C72-77DBD8119186}.Debug (Unicode)|x64.ActiveCfg = Debug (Unicode)|x64
+ {C7542E4E-BCC9-4620-8C72-77DBD8119186}.Debug (Unicode)|x64.Build.0 = Debug (Unicode)|x64
{C7542E4E-BCC9-4620-8C72-77DBD8119186}.Debug|Win32.ActiveCfg = Debug|Win32
{C7542E4E-BCC9-4620-8C72-77DBD8119186}.Debug|Win32.Build.0 = Debug|Win32
+ {C7542E4E-BCC9-4620-8C72-77DBD8119186}.Debug|x64.ActiveCfg = Debug|x64
+ {C7542E4E-BCC9-4620-8C72-77DBD8119186}.Debug|x64.Build.0 = Debug|x64
{C7542E4E-BCC9-4620-8C72-77DBD8119186}.Release (Unicode)|Win32.ActiveCfg = Release (Unicode)|Win32
{C7542E4E-BCC9-4620-8C72-77DBD8119186}.Release (Unicode)|Win32.Build.0 = Release (Unicode)|Win32
+ {C7542E4E-BCC9-4620-8C72-77DBD8119186}.Release (Unicode)|x64.ActiveCfg = Release (Unicode)|x64
+ {C7542E4E-BCC9-4620-8C72-77DBD8119186}.Release (Unicode)|x64.Build.0 = Release (Unicode)|x64
{C7542E4E-BCC9-4620-8C72-77DBD8119186}.Release|Win32.ActiveCfg = Release|Win32
{C7542E4E-BCC9-4620-8C72-77DBD8119186}.Release|Win32.Build.0 = Release|Win32
+ {C7542E4E-BCC9-4620-8C72-77DBD8119186}.Release|x64.ActiveCfg = Release|x64
+ {C7542E4E-BCC9-4620-8C72-77DBD8119186}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/meta2/meta2.vcproj b/meta2/meta2.vcproj index cc93abc..f81fa45 100644 --- a/meta2/meta2.vcproj +++ b/meta2/meta2.vcproj @@ -11,6 +11,9 @@ <Platform
Name="Win32"
/>
+ <Platform
+ Name="x64"
+ />
</Platforms>
<ToolFiles>
</ToolFiles>
@@ -107,9 +110,16 @@ />
<Tool
Name="VCCLCompilerTool"
+ EnableIntrinsicFunctions="true"
+ FavorSizeOrSpeed="2"
AdditionalIncludeDirectories="../../include"
PreprocessorDefinitions="NDEBUG;_WINDOWS;_USERDLL"
+ StringPooling="true"
+ ExceptionHandling="0"
RuntimeLibrary="0"
+ BufferSecurityCheck="false"
+ FloatingPointModel="2"
+ RuntimeTypeInfo="false"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="common.h"
DisableSpecificWarnings="4996"
@@ -177,9 +187,13 @@ <Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories="../../include"
+ AdditionalIncludeDirectories="../../../include;..\updater;..\metacontacts"
PreprocessorDefinitions="_DEBUG;_WINDOWS;_USERDLL;UNICODE;_UNICODE"
+ StringPooling="true"
+ ExceptionHandling="0"
RuntimeLibrary="1"
+ BufferSecurityCheck="false"
+ FloatingPointModel="2"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="common.h"
DebugInformationFormat="3"
@@ -250,7 +264,313 @@ Name="VCCLCompilerTool"
AdditionalIncludeDirectories="../../include"
PreprocessorDefinitions="NDEBUG;_WINDOWS;_USERDLL;UNICODE;_UNICODE"
+ StringPooling="true"
+ ExceptionHandling="0"
+ RuntimeLibrary="0"
+ BufferSecurityCheck="false"
+ FloatingPointModel="2"
+ RuntimeTypeInfo="false"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderThrough="common.h"
+ DisableSpecificWarnings="4996"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="comctl32.lib"
+ SubSystem="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../include"
+ PreprocessorDefinitions="_DEBUG;_WINDOWS;_USERDLL"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderThrough="common.h"
+ DisableSpecificWarnings="4996"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="comctl32.lib"
+ SubSystem="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ EnableIntrinsicFunctions="true"
+ FavorSizeOrSpeed="2"
+ AdditionalIncludeDirectories="../../include"
+ PreprocessorDefinitions="NDEBUG;_WINDOWS;_USERDLL"
+ StringPooling="true"
+ ExceptionHandling="0"
+ RuntimeLibrary="0"
+ BufferSecurityCheck="false"
+ FloatingPointModel="2"
+ RuntimeTypeInfo="false"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderThrough="common.h"
+ DisableSpecificWarnings="4996"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="comctl32.lib"
+ SubSystem="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug (Unicode)|x64"
+ OutputDirectory="$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="2"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="../../../include;..\updater;..\metacontacts"
+ PreprocessorDefinitions="_DEBUG;_WINDOWS;_USERDLL;UNICODE;_UNICODE"
+ StringPooling="true"
+ ExceptionHandling="0"
+ RuntimeLibrary="1"
+ BufferSecurityCheck="false"
+ FloatingPointModel="2"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderThrough="common.h"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4996"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="comctl32.lib"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release (Unicode)|x64"
+ OutputDirectory="$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="2"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="../../include"
+ PreprocessorDefinitions="NDEBUG;_WINDOWS;_USERDLL;UNICODE;_UNICODE"
+ StringPooling="true"
+ ExceptionHandling="0"
RuntimeLibrary="0"
+ BufferSecurityCheck="false"
+ FloatingPointModel="2"
+ RuntimeTypeInfo="false"
UsePrecompiledHeader="2"
PrecompiledHeaderThrough="common.h"
DisableSpecificWarnings="4996"
@@ -270,6 +590,7 @@ SubSystem="2"
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
+ TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
@@ -341,6 +662,38 @@ UsePrecompiledHeader="1"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug (Unicode)|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release (Unicode)|x64"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\core_functions.cpp"
@@ -509,6 +862,38 @@ Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug (Unicode)|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release (Unicode)|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
<File
RelativePath=".\icons\meta_add.ico"
@@ -569,6 +954,38 @@ Name="VCResourceCompilerTool"
/>
</FileConfiguration>
+ <FileConfiguration
+ Name="Debug|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug (Unicode)|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release (Unicode)|x64"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ </FileConfiguration>
</File>
</Filter>
<File
diff --git a/meta2/options.cpp b/meta2/options.cpp index 7c96cba..85f9b48 100644 --- a/meta2/options.cpp +++ b/meta2/options.cpp @@ -12,7 +12,7 @@ void SaveOptions() { //DBWriteContactSettingDword(0, MODULE, "Dummy", options.dummy);
}
-BOOL CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
+INT_PTR CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) {
static HANDLE hItemAll;
switch ( msg ) {
diff --git a/meta2/priorities.cpp b/meta2/priorities.cpp index 7b35223..3573d94 100644 --- a/meta2/priorities.cpp +++ b/meta2/priorities.cpp @@ -159,7 +159,7 @@ void ResetPriorities() { #define WMU_FILLSTATUSCMB (WM_USER + 0x100)
#define WMU_FILLPRIODATA (WM_USER + 0x101)
-BOOL CALLBACK DlgProcOptsPriorities(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
+INT_PTR CALLBACK DlgProcOptsPriorities(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
HWND hw;
diff --git a/meta2/proto.cpp b/meta2/proto.cpp index a6f81f7..f008683 100644 --- a/meta2/proto.cpp +++ b/meta2/proto.cpp @@ -7,7 +7,7 @@ bool firstSetOnline = true;
DWORD status = ID_STATUS_OFFLINE;
-DWORD setStatusTimerId = 0;
+UINT_PTR setStatusTimerId = 0;
DWORD next_meta_id = 1;
@@ -21,8 +21,8 @@ HANDLE NewMetaContact() { }
-int GetCaps(WPARAM wParam,LPARAM lParam) {
- int ret = 0;
+INT_PTR GetCaps(WPARAM wParam,LPARAM lParam) {
+ INT_PTR ret = 0;
switch (wParam) {
case PFLAGNUM_1:
ret = PF1_NUMERICUSERID | PF1_IM | PF1_MODEMSGRECV | PF1_FILESEND;
@@ -43,19 +43,19 @@ int GetCaps(WPARAM wParam,LPARAM lParam) { | PF2_HEAVYDND | PF2_FREECHAT | PF2_OUTTOLUNCH | PF2_ONTHEPHONE;
break;
case PFLAG_UNIQUEIDTEXT:
- ret = (int) Translate("Meta ID");
+ ret = (INT_PTR) Translate("Meta ID");
break;
case PFLAG_MAXLENOFMESSAGE:
ret = 2048;
break;
case PFLAG_UNIQUEIDSETTING:
- ret = (int) META_ID;
+ ret = (INT_PTR) META_ID;
break;
}
return ret;
}
-int GetName(WPARAM wParam,LPARAM lParam) {
+INT_PTR GetName(WPARAM wParam,LPARAM lParam) {
char *name = (char *)Translate(MODULE);
size_t size = min(strlen(name),wParam-1); // copy only the first size bytes.
if(strncpy((char *)lParam,name,size)==NULL)
@@ -64,7 +64,7 @@ int GetName(WPARAM wParam,LPARAM lParam) { return 0;
}
-int LoadIcon(WPARAM wParam,LPARAM lParam) {
+INT_PTR LoadIcon(WPARAM wParam,LPARAM lParam) {
UINT id;
switch (wParam & 0xFFFF)
@@ -88,7 +88,7 @@ int LoadIcon(WPARAM wParam,LPARAM lParam) { return 0;
}
-int ProtoGetInfo(WPARAM wParam,LPARAM lParam) {
+INT_PTR ProtoGetInfo(WPARAM wParam,LPARAM lParam) {
CCSDATA *ccs = ( CCSDATA* )lParam;
ccs->hContact = Meta_GetActive(ccs->hContact);
@@ -104,7 +104,7 @@ int ProtoGetInfo(WPARAM wParam,LPARAM lParam) { return 1;
}
-int ProtoGetAwayMsg(WPARAM wParam, LPARAM lParam) {
+INT_PTR ProtoGetAwayMsg(WPARAM wParam, LPARAM lParam) {
CCSDATA *ccs = ( CCSDATA* )lParam;
ccs->hContact = Meta_GetMostOnlineSupporting(ccs->hContact, PFLAGNUM_1, PF1_MODEMSGRECV);
@@ -129,7 +129,7 @@ void CALLBACK SetStatusProc(HWND hWnd, UINT msg, UINT_PTR id, DWORD dw) KillTimer(0, setStatusTimerId);
}
-int SetStatus(WPARAM wParam,LPARAM lParam)
+INT_PTR SetStatus(WPARAM wParam,LPARAM lParam)
{
// firstSetOnline starts out true - used to delay metacontact's 'onlineness' to prevent double status notifications on startup
if(status == ID_STATUS_OFFLINE && firstSetOnline) {
@@ -145,11 +145,11 @@ int SetStatus(WPARAM wParam,LPARAM lParam) return 0;
}
-int GetStatus(WPARAM wParam,LPARAM lParam) {
+INT_PTR GetStatus(WPARAM wParam,LPARAM lParam) {
return status;
}
-int ProtoSendMessage(WPARAM wParam, LPARAM lParam) {
+INT_PTR ProtoSendMessage(WPARAM wParam, LPARAM lParam) {
CCSDATA *ccs = (CCSDATA *) lParam;
char *message = (char *)ccs->lParam;
int flags = ccs->wParam;
@@ -183,7 +183,7 @@ int ProtoSendMessage(WPARAM wParam, LPARAM lParam) { ccs->lParam = (LPARAM)buff;
}
- int ret = (int)CallContactService(hSendTo, szServiceName, ccs->wParam, ccs->lParam);
+ INT_PTR ret = (INT_PTR)CallContactService(hSendTo, szServiceName, ccs->wParam, ccs->lParam);
if(buff) { // undo our utf8 conversion changes
ccs->lParam = (LPARAM)message;
delete[] buff;
@@ -191,7 +191,7 @@ int ProtoSendMessage(WPARAM wParam, LPARAM lParam) { return ret;
}
-int ProtoSendMessageW(WPARAM wParam, LPARAM lParam) {
+INT_PTR ProtoSendMessageW(WPARAM wParam, LPARAM lParam) {
CCSDATA *ccs = (CCSDATA *) lParam;
if(!(ccs->wParam & PREF_UTF))
ccs->wParam |= PREF_UNICODE;
@@ -199,7 +199,7 @@ int ProtoSendMessageW(WPARAM wParam, LPARAM lParam) { return ProtoSendMessage(wParam, lParam);
}
-int ProtoRecvMessage(WPARAM wParam, LPARAM lParam) {
+INT_PTR ProtoRecvMessage(WPARAM wParam, LPARAM lParam) {
CCSDATA *ccs = (CCSDATA *) lParam;
PROTORECVEVENT *pre = (PROTORECVEVENT *) ccs->lParam;
@@ -257,7 +257,7 @@ int RedirectACKs(WPARAM wParam, LPARAM lParam) return ProtoBroadcastAck(MODULE, hMeta, ack->type, ack->result, ack->hProcess, ack->lParam);
}
-int ProtoGetAvatarInfo(WPARAM wParam, LPARAM lParam) {
+INT_PTR ProtoGetAvatarInfo(WPARAM wParam, LPARAM lParam) {
PROTO_AVATAR_INFORMATION *AI = (PROTO_AVATAR_INFORMATION *) lParam;
HANDLE hMeta = AI->hContact;
@@ -276,7 +276,7 @@ int ProtoGetAvatarInfo(WPARAM wParam, LPARAM lParam) { return GAIR_NOAVATAR; // fail
}
-int ProtoFileSend(WPARAM wParam, LPARAM lParam) {
+INT_PTR ProtoFileSend(WPARAM wParam, LPARAM lParam) {
CCSDATA *ccs = (CCSDATA *) lParam;
HANDLE hMeta = ccs->hContact;
@@ -291,7 +291,7 @@ int ProtoFileSend(WPARAM wParam, LPARAM lParam) { return 0; // fail
}
-int ProtoUserIsTyping(WPARAM wParam, LPARAM lParam) {
+INT_PTR ProtoUserIsTyping(WPARAM wParam, LPARAM lParam) {
HANDLE hMeta = (HANDLE)wParam;
// find the most online contact supporting typing notifications, according to priorities
HANDLE most_online = (HANDLE)Meta_GetMostOnlineSupporting(hMeta, PFLAGNUM_4, PF4_SUPPORTTYPING);
@@ -319,7 +319,7 @@ int EventContactIsTyping(WPARAM wParam, LPARAM lParam) { return 0;
}
-int SendNudge(WPARAM wParam,LPARAM lParam)
+INT_PTR SendNudge(WPARAM wParam,LPARAM lParam)
{
HANDLE hMeta = (HANDLE)wParam,
hSubContact = Meta_GetActive(hMeta);
diff --git a/meta2/select_meta.cpp b/meta2/select_meta.cpp index 8e8dcd6..b8845ae 100644 --- a/meta2/select_meta.cpp +++ b/meta2/select_meta.cpp @@ -36,7 +36,7 @@ void FillList(HWND list, bool sort) }
}
-BOOL CALLBACK Meta_SelectDialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
+INT_PTR CALLBACK Meta_SelectDialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
@@ -53,7 +53,7 @@ BOOL CALLBACK Meta_SelectDialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARA {
case IDOK:
{
- HANDLE hContact = (HANDLE)GetWindowLong(hwndDlg, GWL_USERDATA);
+ HANDLE hContact = (HANDLE)GetWindowLongPtr(hwndDlg, GWLP_USERDATA);
int item = SendMessage(GetDlgItem(hwndDlg, IDC_METALIST),LB_GETCURSEL, 0, 0);
HANDLE hMeta = (HANDLE)SendMessage(GetDlgItem(hwndDlg, IDC_METALIST), LB_GETITEMDATA, (WPARAM)item, 0);
|