ich bin gerade dabei ein WindowsProgramm unter Python anzusteuern.
Dabei habe ich es mit folgendem code versucht:
Code: Alles auswählen
copy_data_struct = struct.pack("L2P", 1000, len(command)+1, command)
info = SendMessage(handle, win32con.WM_COPYDATA, 0, copy_data_struct);
struct.error: cannot convert argument to long
Durchs netz hab ich dann noch eine Lösung gefunden und für mich etwas angepasst:
Code: Alles auswählen
def packData( dwData, item ):
global cds, lpData
lpData = array.array('c', item)
lpData_ad = lpData.buffer_info()[0]
cbData = lpData.buffer_info()[1]
cds = array.array('c', struct.pack("L2P", dwData, cbData,
lpData_ad) )
print cds
return cds
info = SendMessage( hWnd, WM_COPYDATA, 0, packData( 1000, command ) )
Ausgangsbasis für den Code den ich haben möchte, ist dieser Perl Code:
Code: Alles auswählen
$handle = Win32::GUI::FindWindow("app", "");
$copy_data_struct = pack('L2P', 1000, length( $command ) + 1, $command);
if ( $use_rush == 1 ) {
$info= Win32::GUI::SendMessage($handle, WM_COPYDATA, 0, $copy_data_struct);