473,390 Members | 1,175 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,390 software developers and data experts.

PyWin SendMessage

Hello everybody,

I've tryed to use an interprocess communication via
SendMessage on Windows.
Unfortunately, nothing goes on

################################################## #######################
#! /usr/bin/env python

import win32api, win32ui, win32con
import struct, array

"""
typedef struct tagCOPYDATASTRUCT { // cds
DWORD dwData;
DWORD cbData;
PVOID lpData;
} COPYDATASTRUCT;
"""

def packCopyData(nNum, sString):
int_buffer = array.array("L",[nNum])
char_buffer = array.array('c', sString)
int_buffer_address = int_buffer.buffer_info()[0]
char_buffer_address = char_buffer.buffer_info()[0]
char_buffer_size = char_buffer.buffer_info()[1]
copy_struct = struct.pack("pLp", # dword*, dword, char*
int_buffer_address,
char_buffer_size,
char_buffer)
return copy_struct
# get the window handle
hwnd = win32ui.FindWindow(None, "special window")

# print just for fun
print hwnd

cds = packCopyData(1, '1')
print cds

# try to send it a message
win32api.SendMessage(hwnd,
win32con.WM_COPYDATA,
0,
cds)

################################################## #######################

The last parameter shut be an integer, but I think it must be a pointer ?

Any experience or a tip for me ?
gf
Sep 29 '05 #1
8 6616
"g.franzkowiak" <g.***********@onlinehome.de> writes:
Hello everybody,

I've tryed to use an interprocess communication via
SendMessage on Windows.
Unfortunately, nothing goes on

################################################## #######################
#! /usr/bin/env python

import win32api, win32ui, win32con
import struct, array

"""
typedef struct tagCOPYDATASTRUCT { // cds
DWORD dwData;
DWORD cbData;
PVOID lpData;
} COPYDATASTRUCT;
"""

def packCopyData(nNum, sString):
int_buffer = array.array("L",[nNum])
char_buffer = array.array('c', sString)
int_buffer_address = int_buffer.buffer_info()[0]
char_buffer_address = char_buffer.buffer_info()[0]
char_buffer_size = char_buffer.buffer_info()[1]
copy_struct = struct.pack("pLp", # dword*, dword, char*
int_buffer_address,
char_buffer_size,
char_buffer)
return copy_struct


After packCopyData(...) returns, the arrays are destroyed, which will
probably void their contents. You must keep them alive until you don't
need the COPYDATASTRUCT instance any longer. For this kind of stuff,
ctypes may be easier to use than pywin32.

Thomas
Sep 29 '05 #2
Thomas Heller schrieb:
"g.franzkowiak" <g.***********@onlinehome.de> writes:

Hello everybody,

I've tryed to use an interprocess communication via
SendMessage on Windows.
Unfortunately, nothing goes on

################################################ #########################
#! /usr/bin/env python

import win32api, win32ui, win32con
import struct, array

"""
typedef struct tagCOPYDATASTRUCT { // cds
DWORD dwData;
DWORD cbData;
PVOID lpData;
} COPYDATASTRUCT;
"""

def packCopyData(nNum, sString):
int_buffer = array.array("L",[nNum])
char_buffer = array.array('c', sString)
int_buffer_address = int_buffer.buffer_info()[0]
char_buffer_address = char_buffer.buffer_info()[0]
char_buffer_size = char_buffer.buffer_info()[1]
copy_struct = struct.pack("pLp", # dword*, dword, char*
int_buffer_address,
char_buffer_size,
char_buffer)
return copy_struct

After packCopyData(...) returns, the arrays are destroyed, which will
probably void their contents. You must keep them alive until you don't
need the COPYDATASTRUCT instance any longer. For this kind of stuff,
ctypes may be easier to use than pywin32.

Thomas


Hmm, have read something in <<http://aspn.activestate.com>>
and the script changed to this:

#---------------------------------------------------------
#! /usr/bin/env python

import win32api, win32ui, win32con, win32gui
import struct, array
from ctypes import *

"""
typedef struct tagCOPYDATASTRUCT { // cds
DWORD dwData;
DWORD cbData;
PVOID lpData;
} COPYDATASTRUCT;
"""

class COPYDATATYPE(Structure):
_fields_ = [("nNum", c_ulong),
("szData", c_char_p)]

class COPYDATASTRUCT(Structure):
_fields_ = [("dwData", c_ulong),
("cbData", c_ulong),
("lpData", POINTER(COPYDATATYPE))]

# get the window handle
hwnd = win32ui.FindWindow(None, "target window")

# print just for fun
# ##print hwnd

# prepare copydata structure for sending data
cpyData = COPYDATATYPE(1, '1')
cds = COPYDATASTRUCT(c_ulong(1),
c_ulong(sizeof(cpyData)),
pointer(cpyData))

# try to send a message
win32api.SendMessage(hwnd,
win32con.WM_COPYDATA,
0,
pointer(cds))

#---------------------------------------------------------
and the message for the last line is:
==> TypeError: an integer is required"

This message comes with "pointer(cds)" and with "addressof(cds)"
gerd
Sep 29 '05 #3
"g.franzkowiak" <g.***********@onlinehome.de> writes:
Thomas Heller schrieb:
"g.franzkowiak" <g.***********@onlinehome.de> writes:

Hello everybody,

I've tryed to use an interprocess communication via
SendMessage on Windows.
Unfortunately, nothing goes on

############################################### ##########################
#! /usr/bin/env python

import win32api, win32ui, win32con
import struct, array

"""
typedef struct tagCOPYDATASTRUCT { // cds
DWORD dwData;
DWORD cbData;
PVOID lpData;
} COPYDATASTRUCT;
"""

def packCopyData(nNum, sString):
int_buffer = array.array("L",[nNum])
char_buffer = array.array('c', sString)
int_buffer_address = int_buffer.buffer_info()[0]
char_buffer_address = char_buffer.buffer_info()[0]
char_buffer_size = char_buffer.buffer_info()[1]
copy_struct = struct.pack("pLp", # dword*, dword, char*
int_buffer_address,
char_buffer_size,
char_buffer)
return copy_struct

After packCopyData(...) returns, the arrays are destroyed, which will
probably void their contents. You must keep them alive until you don't
need the COPYDATASTRUCT instance any longer. For this kind of stuff,
ctypes may be easier to use than pywin32.

Thomas


Hmm, have read something in <<http://aspn.activestate.com>>
and the script changed to this:

#---------------------------------------------------------
#! /usr/bin/env python

import win32api, win32ui, win32con, win32gui
import struct, array
from ctypes import *

"""
typedef struct tagCOPYDATASTRUCT { // cds
DWORD dwData;
DWORD cbData;
PVOID lpData;
} COPYDATASTRUCT;
"""

class COPYDATATYPE(Structure):
_fields_ = [("nNum", c_ulong),
("szData", c_char_p)]

class COPYDATASTRUCT(Structure):
_fields_ = [("dwData", c_ulong),
("cbData", c_ulong),
("lpData", POINTER(COPYDATATYPE))]

# get the window handle
hwnd = win32ui.FindWindow(None, "target window")

# print just for fun
# ##print hwnd

# prepare copydata structure for sending data
cpyData = COPYDATATYPE(1, '1')
cds = COPYDATASTRUCT(c_ulong(1),
c_ulong(sizeof(cpyData)),
pointer(cpyData))

# try to send a message
win32api.SendMessage(hwnd,
win32con.WM_COPYDATA,
0,
pointer(cds))

#---------------------------------------------------------
and the message for the last line is:
==> TypeError: an integer is required"

This message comes with "pointer(cds)" and with "addressof(cds)"


That error refers to the first argument - win32ui.FindWindow returns a
PyCWnd object, which is not accepted by win32api.SendMessage.
Changing this brings you one step further. win32api.SendMessage accepts
an integer for the last element, so addressof(cds) should work now.

win32gui.SendMessage is more tolerant in what it accepts as 4th
argument, according to the error message you get when you try it it
expects a string, a buffer, or an integer. So you could use addressof()
or pointer(), what you like best.

Thomas
Sep 29 '05 #4
Thomas Heller schrieb:
"g.franzkowiak" <g.***********@onlinehome.de> writes:

Thomas Heller schrieb:
"g.franzkowiak" <g.***********@onlinehome.de> writes:

Hello everybody,

I've tryed to use an interprocess communication via
SendMessage on Windows.
Unfortunately, nothing goes on

############################################## ###########################
#! /usr/bin/env python

import win32api, win32ui, win32con
import struct, array

"""
typedef struct tagCOPYDATASTRUCT { // cds
DWORD dwData;
DWORD cbData;
PVOID lpData;
} COPYDATASTRUCT;
"""

def packCopyData(nNum, sString):
int_buffer = array.array("L",[nNum])
char_buffer = array.array('c', sString)
int_buffer_address = int_buffer.buffer_info()[0]
char_buffer_address = char_buffer.buffer_info()[0]
char_buffer_size = char_buffer.buffer_info()[1]
copy_struct = struct.pack("pLp", # dword*, dword, char*
int_buffer_address,
char_buffer_size,
char_buffer)
return copy_struct
After packCopyData(...) returns, the arrays are destroyed, which will
probably void their contents. You must keep them alive until you don't
need the COPYDATASTRUCT instance any longer. For this kind of stuff,
ctypes may be easier to use than pywin32.

Thomas


Hmm, have read something in <<http://aspn.activestate.com>>
and the script changed to this:

#---------------------------------------------------------
#! /usr/bin/env python

import win32api, win32ui, win32con, win32gui
import struct, array
from ctypes import *

"""
typedef struct tagCOPYDATASTRUCT { // cds
DWORD dwData;
DWORD cbData;
PVOID lpData;
} COPYDATASTRUCT;
"""

class COPYDATATYPE(Structure):
_fields_ = [("nNum", c_ulong),
("szData", c_char_p)]

class COPYDATASTRUCT(Structure):
_fields_ = [("dwData", c_ulong),
("cbData", c_ulong),
("lpData", POINTER(COPYDATATYPE))]

# get the window handle
hwnd = win32ui.FindWindow(None, "target window")

# print just for fun
# ##print hwnd

# prepare copydata structure for sending data
cpyData = COPYDATATYPE(1, '1')
cds = COPYDATASTRUCT(c_ulong(1),
c_ulong(sizeof(cpyData)),
pointer(cpyData))

# try to send a message
win32api.SendMessage(hwnd,
win32con.WM_COPYDATA,
0,
pointer(cds))

#---------------------------------------------------------
and the message for the last line is:
==> TypeError: an integer is required"

This message comes with "pointer(cds)" and with "addressof(cds)"

That error refers to the first argument - win32ui.FindWindow returns a
PyCWnd object, which is not accepted by win32api.SendMessage.
Changing this brings you one step further. win32api.SendMessage accepts
an integer for the last element, so addressof(cds) should work now.

win32gui.SendMessage is more tolerant in what it accepts as 4th
argument, according to the error message you get when you try it it
expects a string, a buffer, or an integer. So you could use addressof()
or pointer(), what you like best.

Thomas


Hi Thomas,

crazy, operates :-))
Only 'addressof' is possible and
merely the data types on the receiver side are not correct.
I want use an int and char[256], must play...

Thanks
gerd
Sep 29 '05 #5
Thomas Heller schrieb:
"g.franzkowiak" <g.***********@onlinehome.de> writes:

Thomas Heller schrieb:
"g.franzkowiak" <g.***********@onlinehome.de> writes:

Hello everybody,

I've tryed to use an interprocess communication via
SendMessage on Windows.
Unfortunately, nothing goes on

############################################## ###########################
#! /usr/bin/env python

import win32api, win32ui, win32con
import struct, array

"""
typedef struct tagCOPYDATASTRUCT { // cds
DWORD dwData;
DWORD cbData;
PVOID lpData;
} COPYDATASTRUCT;
"""

def packCopyData(nNum, sString):
int_buffer = array.array("L",[nNum])
char_buffer = array.array('c', sString)
int_buffer_address = int_buffer.buffer_info()[0]
char_buffer_address = char_buffer.buffer_info()[0]
char_buffer_size = char_buffer.buffer_info()[1]
copy_struct = struct.pack("pLp", # dword*, dword, char*
int_buffer_address,
char_buffer_size,
char_buffer)
return copy_struct
After packCopyData(...) returns, the arrays are destroyed, which will
probably void their contents. You must keep them alive until you don't
need the COPYDATASTRUCT instance any longer. For this kind of stuff,
ctypes may be easier to use than pywin32.

Thomas


Hmm, have read something in <<http://aspn.activestate.com>>
and the script changed to this:

#---------------------------------------------------------
#! /usr/bin/env python

import win32api, win32ui, win32con, win32gui
import struct, array
from ctypes import *

"""
typedef struct tagCOPYDATASTRUCT { // cds
DWORD dwData;
DWORD cbData;
PVOID lpData;
} COPYDATASTRUCT;
"""

class COPYDATATYPE(Structure):
_fields_ = [("nNum", c_ulong),
("szData", c_char_p)]

class COPYDATASTRUCT(Structure):
_fields_ = [("dwData", c_ulong),
("cbData", c_ulong),
("lpData", POINTER(COPYDATATYPE))]

# get the window handle
hwnd = win32ui.FindWindow(None, "target window")

# print just for fun
# ##print hwnd

# prepare copydata structure for sending data
cpyData = COPYDATATYPE(1, '1')
cds = COPYDATASTRUCT(c_ulong(1),
c_ulong(sizeof(cpyData)),
pointer(cpyData))

# try to send a message
win32api.SendMessage(hwnd,
win32con.WM_COPYDATA,
0,
pointer(cds))

#---------------------------------------------------------
and the message for the last line is:
==> TypeError: an integer is required"

This message comes with "pointer(cds)" and with "addressof(cds)"

That error refers to the first argument - win32ui.FindWindow returns a
PyCWnd object, which is not accepted by win32api.SendMessage.
Changing this brings you one step further. win32api.SendMessage accepts
an integer for the last element, so addressof(cds) should work now.

win32gui.SendMessage is more tolerant in what it accepts as 4th
argument, according to the error message you get when you try it it
expects a string, a buffer, or an integer. So you could use addressof()
or pointer(), what you like best.

Thomas


Super, operates :-))

My last answer must be in the Nirvana, strange ?

Ok, only the version with 'addressof' generates a message and I must
play with the data types. The receiver becomes a wrong data formate.
Expect (int=1, char[256]='1\00'), but the int is 0x31 and the string
somewhat. Must play with my data.

Thanks
gerd
Sep 29 '05 #6
g.franzkowiak escribió:
Thomas Heller schrieb:

"g.franzkowiak" <g.***********@onlinehome.de> writes:

Thomas Heller schrieb:

"g.franzkowiak" <g.***********@onlinehome.de> writes:

>Hello everybody,
>
>I've tryed to use an interprocess communication via
>SendMessage on Windows.
>Unfortunately, nothing goes on
>
>############################################# ############################
>#! /usr/bin/env python
>
>import win32api, win32ui, win32con
>import struct, array
>
>"""
>typedef struct tagCOPYDATASTRUCT { // cds
> DWORD dwData;
> DWORD cbData;
> PVOID lpData;
>} COPYDATASTRUCT;
>"""
>
>def packCopyData(nNum, sString):
> int_buffer = array.array("L",[nNum])
> char_buffer = array.array('c', sString)
> int_buffer_address = int_buffer.buffer_info()[0]
> char_buffer_address = char_buffer.buffer_info()[0]
> char_buffer_size = char_buffer.buffer_info()[1]
> copy_struct = struct.pack("pLp", # dword*, dword, char*
> int_buffer_address,
> char_buffer_size,
> char_buffer)
> return copy_struct
>
>
After packCopyData(...) returns, the arrays are destroyed, which will
probably void their contents. You must keep them alive until you don't
need the COPYDATASTRUCT instance any longer. For this kind of stuff,
ctypes may be easier to use than pywin32.

Thomas
Hmm, have read something in <<http://aspn.activestate.com>>
and the script changed to this:

#---------------------------------------------------------
#! /usr/bin/env python

import win32api, win32ui, win32con, win32gui
import struct, array
from ctypes import *


"""
typedef struct tagCOPYDATASTRUCT { // cds
DWORD dwData;
DWORD cbData;
PVOID lpData;
} COPYDATASTRUCT;
"""

class COPYDATATYPE(Structure):
_fields_ = [("nNum", c_ulong),
("szData", c_char_p)]

class COPYDATASTRUCT(Structure):
_fields_ = [("dwData", c_ulong),
("cbData", c_ulong),
("lpData", POINTER(COPYDATATYPE))]

# get the window handle
hwnd = win32ui.FindWindow(None, "target window")

# print just for fun
# ##print hwnd

# prepare copydata structure for sending data
cpyData = COPYDATATYPE(1, '1')
cds = COPYDATASTRUCT(c_ulong(1),
c_ulong(sizeof(cpyData)),
pointer(cpyData))

# try to send a message
win32api.SendMessage(hwnd,
win32con.WM_COPYDATA,
0,
pointer(cds))

#---------------------------------------------------------
and the message for the last line is:
==> TypeError: an integer is required"

This message comes with "pointer(cds)" and with "addressof(cds)"

That error refers to the first argument - win32ui.FindWindow returns a
PyCWnd object, which is not accepted by win32api.SendMessage.
Changing this brings you one step further. win32api.SendMessage accepts
an integer for the last element, so addressof(cds) should work now.

win32gui.SendMessage is more tolerant in what it accepts as 4th
argument, according to the error message you get when you try it it
expects a string, a buffer, or an integer. So you could use addressof()
or pointer(), what you like best.

Thomas


Super, operates :-))

My last answer must be in the Nirvana, strange ?

Ok, only the version with 'addressof' generates a message and I must
play with the data types. The receiver becomes a wrong data formate.
Expect (int=1, char[256]='1\00'), but the int is 0x31 and the string
somewhat. Must play with my data.

Thanks
gerd


Hi Gerd,

I'm not really sure of, but I think you must use a message value in
range of WM_USER or WM_APP so this fact maybe let the receiver window
getting bad data... have a look to this:

http://msdn.microsoft.com/library/de...es/wm_user.asp

0 through WM_USER
<http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/messagesandmessagequeues/messagesandmessagequeuesreference/messagesandmessagequeuesmessages/wm_user.asp>
0x0400
Messages reserved for use by the system.
*WM_USER* through 0x7FFF Integer messages for use by private window
classes.
*WM_APP* through 0xBFFF Messages available for use by applications.
0xC000 through 0xFFFF String messages for use by applications.
Greater than 0xFFFF Reserved by the system.

I've done the same with PHP GTK and achieved random results sending low
Msg values... until used WM_USER and above. Also, in my case only
PostMessage work fine... try using both... but expect this doesn't
happen with python,

Hope it helps.

Gonzalo
Sep 30 '05 #7
Gonzalo Monzón schrieb:
g.franzkowiak escribió:
Thomas Heller schrieb:

"g.franzkowiak" <g.***********@onlinehome.de> writes:


Thomas Heller schrieb:

> "g.franzkowiak" <g.***********@onlinehome.de> writes:
>
>
>
>
>
>> Hello everybody,
>>
>> I've tryed to use an interprocess communication via
>> SendMessage on Windows.
>> Unfortunately, nothing goes on
>>
>> ################################################## #######################
>>
>> #! /usr/bin/env python
>>
>> import win32api, win32ui, win32con
>> import struct, array
>>
>> """
>> typedef struct tagCOPYDATASTRUCT { // cds
>> DWORD dwData;
>> DWORD cbData;
>> PVOID lpData;
>> } COPYDATASTRUCT;
>> """
>>
>> def packCopyData(nNum, sString):
>> int_buffer = array.array("L",[nNum])
>> char_buffer = array.array('c', sString)
>> int_buffer_address = int_buffer.buffer_info()[0]
>> char_buffer_address = char_buffer.buffer_info()[0]
>> char_buffer_size = char_buffer.buffer_info()[1]
>> copy_struct = struct.pack("pLp", # dword*, dword, char*
>> int_buffer_address,
>> char_buffer_size,
>> char_buffer)
>> return copy_struct
>>
>
> After packCopyData(...) returns, the arrays are destroyed, which will
> probably void their contents. You must keep them alive until you
> don't
> need the COPYDATASTRUCT instance any longer. For this kind of stuff,
> ctypes may be easier to use than pywin32.
>
> Thomas
>

Hmm, have read something in <<http://aspn.activestate.com>>
and the script changed to this:

#---------------------------------------------------------
#! /usr/bin/env python

import win32api, win32ui, win32con, win32gui
import struct, array

from ctypes import *

"""
typedef struct tagCOPYDATASTRUCT { // cds
DWORD dwData;
DWORD cbData;
PVOID lpData;
} COPYDATASTRUCT;
"""

class COPYDATATYPE(Structure):
_fields_ = [("nNum", c_ulong),
("szData", c_char_p)]

class COPYDATASTRUCT(Structure):
_fields_ = [("dwData", c_ulong),
("cbData", c_ulong),
("lpData", POINTER(COPYDATATYPE))]

# get the window handle
hwnd = win32ui.FindWindow(None, "target window")

# print just for fun
# ##print hwnd

# prepare copydata structure for sending data
cpyData = COPYDATATYPE(1, '1')
cds = COPYDATASTRUCT(c_ulong(1),
c_ulong(sizeof(cpyData)),
pointer(cpyData))

# try to send a message
win32api.SendMessage(hwnd,
win32con.WM_COPYDATA,
0,
pointer(cds))

#---------------------------------------------------------
and the message for the last line is:
==> TypeError: an integer is required"

This message comes with "pointer(cds)" and with "addressof(cds)"
That error refers to the first argument - win32ui.FindWindow returns a
PyCWnd object, which is not accepted by win32api.SendMessage.
Changing this brings you one step further. win32api.SendMessage accepts
an integer for the last element, so addressof(cds) should work now.

win32gui.SendMessage is more tolerant in what it accepts as 4th
argument, according to the error message you get when you try it it
expects a string, a buffer, or an integer. So you could use addressof()
or pointer(), what you like best.

Thomas

Super, operates :-))

My last answer must be in the Nirvana, strange ?

Ok, only the version with 'addressof' generates a message and I must
play with the data types. The receiver becomes a wrong data formate.
Expect (int=1, char[256]='1\00'), but the int is 0x31 and the string
somewhat. Must play with my data.

Thanks
gerd


Hi Gerd,

I'm not really sure of, but I think you must use a message value in
range of WM_USER or WM_APP so this fact maybe let the receiver window
getting bad data... have a look to this:

http://msdn.microsoft.com/library/de...es/wm_user.asp
0 through WM_USER
<http://msdn.microsoft.com/library/en-us/winui/winui/windowsuserinterface/windowing/messagesandmessagequeues/messagesandmessagequeuesreference/messagesandmessagequeuesmessages/wm_user.asp>
0x0400
Messages reserved for use by the system.
*WM_USER* through 0x7FFF Integer messages for use by private window
classes.
*WM_APP* through 0xBFFF Messages available for use by applications.
0xC000 through 0xFFFF String messages for use by applications.
Greater than 0xFFFF Reserved by the system.

I've done the same with PHP GTK and achieved random results sending low
Msg values... until used WM_USER and above. Also, in my case only
PostMessage work fine... try using both... but expect this doesn't
happen with python,

Hope it helps.

Gonzalo

Hi Gonzalo,

thank you for your interest and for your tips.
With your links was it possible to learn something over messages in user
applications. I'm not the windows guru, like the open source scene.

My problem was not the message type and I think the WM_COPYDATA is the
right thing for interprocess communication between python and C++.
I've changed in my script the COPYDATATYPE field szData from c_char_p to
c_char * 256 and the memory is correct initialized. The first situation
was according to **data and in consequence the wrong content on the
receiver side.
Now is it a good thing :-)

gerd

Sep 30 '05 #8
Gonzalo Monzón <gm*@serveisw3.net> wrote:

Hi Gerd,

I'm not really sure of, but I think you must use a message value in
range of WM_USER or WM_APP so this fact maybe let the receiver window
getting bad data...


No. WM_COPYDATA is designed specifically for his use case -- interprocess
communication. The WM_USER range is only if you are inventing a custom
message for some new purpose.
--
- Tim Roberts, ti**@probo.com
Providenza & Boekelheide, Inc.
Oct 2 '05 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: The Jetman | last post by:
I'm trying to port PyWin into a limited version of Windows XP, called BartPE. Essentially, it's a matter of taking the installed elements of most WinApps (ie. registry settings and files) and...
3
by: JSK | last post by:
Hi, As any one worked in VB.NET and made use of Sendmessage API? The Issue I am running into is how to pass pointers of Data Structures (UDT) to the SendMessage. I starting looking at "IntPrt"...
18
by: Lars Netzel | last post by:
Hello! Thanx to this newgroup I have finally, with the help of you guys, gotten this to work halfway.. but the final action is still not working, clicking the "Button2" thru SendMessage(). ...
6
by: Charles Krug | last post by:
Here's the deal: I've a dead-simple command-line program I'm using to test things that I can't (for various reasons) test in the IDE. Here's a do-nothing subset that shows the idea: #...
7
by: Mr. Roboto | last post by:
Folks: I want to embark on a project to add Python (actually, wxPython or PythonWin) to a new Windows app I want to start writing soon. Essentially, I want to take VB6 (or pos Delphi) and...
4
by: Abubakar | last post by:
Hi, My application has a lot of threads which at some point call SendMessage api passing it the handle of the gui window. The calls r a lot. My question is that should I call the SendMessage api...
22
by: SQACSharp | last post by:
I'm trying to get the control name of an editbox in another window. The following code set the value "MyPassword" in the password EditBox but it fail to return the control name of the EditBox. ...
1
by: Necromis | last post by:
Ok, I have gotten my head around things better regarding SendMessage and FindWindow functions. However, I am running into an issue with my code still. The program I am working with is EXTRA! by...
5
by: michelqa | last post by:
Hi, I need to call a lot of different native SendMessage to retreive informations from non managed application. Some win32 messages use struct pointer for lparam....how to create and...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.