Hallo,
ist es moeglich die icons mit der tastatur zu steuern?
Hallo,
ist es moeglich die icons mit der tastatur zu steuern?
Ok
So kann man eine karte ("\\.\PhysicalDrive7") lesen und in ein file ("C:\testRaw.txt") schreiben.
Das funktioniert auch ganz gut nur das zurückschreiben auf die karte geht nicht.
$hFileWrite = _WinAPI_CreateFile("C:\testRaw.txt", 1, 4)
[/autoit][autoit][/autoit][autoit]$sFileName = "\\.\PhysicalDrive7";
$iCreation = 2; OPEN_EXISTING
$iAccess = 2; GENERIC_READ
$iShare = 2 + 4; FILE_SHARE_READ + FILE_SHARE_WRITE
$hFile = _WinAPI_CreateFile($sFileName, $iCreation, $iAccess, $iShare)
If @error Or $hFile = Ptr(0) Then
$str = "Could not open file " & $sFileName & @CRLF
$str &= "Error: " & @error & @CRLF
$str &= "Handle: " & $hFile
MsgBox(0, "Error: _WinAPI_CreateFile", $str)
Exit
EndIf
$counter = 0
While 1
_WinAPI_SetFilePointer($hFile, $counter); Beginning of file
If @error Then
MsgBox(0, "Error: _WinAPI_SetFilePointer", StringFormat("Could not move pointer. (Error %d)\n", @error))
Exit
EndIf
Global $nBytesReceived
$tBuffer = DllStructCreate("byte[512]")
_WinAPI_ReadFile($hFile, DllStructGetPtr($tBuffer, 1), 512, $nBytesReceived)
[/autoit][autoit][/autoit][autoit];write
_WinAPI_SetFilePointer($hFileWrite, $counter)
_WinAPI_WriteFile($hFileWrite, DllStructGetPtr($tBuffer), 512, $nBytesReceived)
$counter += 512
WEnd
hast du es hinbekommen raw wieder auf die karte zu schreiben?
irgendwie klappt das nicht, es sieht so aus als ob er schreib aber die karte bleibt leer.
#RequireAdmin
#include <Constants.au3>
$file = FileOpen("C:\sd_card.txt", 16)
If $file = -1 Then
MsgBox(0, "Error", "Unable to open sd_card.txt")
Exit
EndIf
$size = FileGetSize("C:\sd_card.txt")
$sd_card = FileOpen("\\.\N:", 17);("\\.\PhysicalDrive7", 17)
If $sd_card = -1 Then
MsgBox(0, "Error", "Unable to open SD-Card")
FileClose($file)
Exit
EndIf
$counter = 0
While 1
FileSetPos($file, $counter, $FILE_BEGIN)
$file_read = FileRead($file, 512)
If $file_read = '' Then
ExitLoop
EndIf
FileSetPos($sd_card, $counter, $FILE_BEGIN)
FileWrite($sd_card, $file_read)
$counter = $counter + 512
ConsoleWrite($size & " " & $counter & @CRLF)
WEnd
FileClose($file)
FileClose($sd_card)
ich probiere eine sd Karte im raw modus zu lesen und in ein file zu speichern
das ich dann wieder auf eine andere karte schreiben kann
"sd karten raw format copier tool|"
das liest mir die ersten 512byte aus ( wie würde der loop aussehen um die ganze karte zu kopieren?)
[autoit]#RequireAdmin
#include <WinAPI.au3>
$sFileName = "\\.\PhysicalDrive0";
$iCreation = 2; OPEN_EXISTING
$iAccess = 2; GENERIC_READ
$iShare = 2+4; FILE_SHARE_READ + FILE_SHARE_WRITE
$hFile = _WinAPI_CreateFile($sFileName, $iCreation, $iAccess, $iShare)
[/autoit][autoit][/autoit][autoit]_WinAPI_SetFilePointer($hFile,0)
[/autoit][autoit][/autoit][autoit]Global $nBytesReceived
$tBuffer = DllStructCreate("byte[512]")
_WinAPI_ReadFile($hFile, DllStructGetPtr($tBuffer,1), 512, $nBytesReceived)
[/autoit][autoit][/autoit][autoit]MsgBox(0,"Results",Hex(DllStructGetData($tBuffer,1)))
[/autoit] ahhh
natuerlich 3.3.8.0 (back to the future)
Neue Version
xVideo.dll 1.2.2
UDF 0.1
AutoIt 3.8.0.0
danke euch beiden für die Rückmeldung
die msgboxen habe ich vergessen raus zunehmen, sind entstanden als ich einen fehler gesucht habe und in welcher funktion er auftritt.
Das interessante an xVideo ist (meiner meinung nach) das die dll dvds abspielen kann und man damit sogar transcodieren kann.
mfg
Hallo
Hier die UDF für xVIDEO.dll 1.2.2 (habt mitleid ist meine erste udf )
AutoIt 3.3.8.0
xVideo is a Directshow wrapper that will help it’s users create multimedia aplications.It’s compatible with any language that supports STDCALL calling convention.
Features
-Any media playback(require necessary codec installed)
-Plays multiple videos at once
-Extract audio
-Streaming file from internet
-Plugins Support (Decoders, DSP and others)
-Text Overlay Support
-VMR,VMR9,EVR support,VMR7/9 WindowsLess Mode
-Image overlay support
-Audio Pitch, Tempo, Channel Process
-Color Controls(brightness,hue,saturation,contrast)
-Mixing Videos Support
-DVD playback
-Multiple Video Output
-Support for capture devices
-Convert media files support
-Users audio DSP’s
-Build in audio Equalizer,Reverb,Echo,Compressor,Flanger
-Play media files from Memory/User file system
-Winamp DSP plugin Support(via addon)
-Real time audio level
-waveform draw
Download : http://surodev.com
ok hat sich erledigt
"ChannelSetWindow"
habe jetzt bild und ton
aber das video wird 2 mal angezeigt
kannst du mir da nochmal helfen?
#include <array.au3>
[/autoit][autoit][/autoit][autoit]Global $__xVideo_DLL
[/autoit][autoit][/autoit][autoit]$gui = GUICreate("123", 720, 432)
[/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit]_xVideo_UDF_Open()
_xVideo_Init(WinGetHandle($gui))
_xVideo_SetConfig("xVideo_VideoRenderer","xVideo_VMR9WindowsLess")
$hVideoStream = _xVideo_StreamCreateFile("C:\3.avi", 0, 0)
_xVideo_ChannelAddWindow($hVideoStream, $gui)
_xVideo_PlayStream($hVideoStream)
_xVideo_ChannelSetPosition($hVideoStream, 2000, "xVideo_POS_SEC")
_xVideo_ChannelResizeWindow($hVideoStream, 0, 0, 300, 200)
;MsgBox(0, "", _xVideo_ChannelGetPosition($hVideoStream, "xVideo_POS_SEC"))
GUISetState()
Sleep(5000)
_xVideo_UDF_Close()
; Funktionen
Func _xVideo_Init($handle)
Local $aRet = DllCall($__xVideo_DLL, "ubyte", "xVideo_Init", "hwnd", $handle)
If @error Then Return SetError(@error, 0, 0)
Return $aRet[0]
EndFunc
Func _xVideo_GetVersion()
Local $aRet = DllCall($__xVideo_DLL, "dword", "xVideo_GetVersion")
If @error Then Return SetError(@error, 0, 0)
Return $aRet[0]
EndFunc
Func _xVideo_Free()
Local $aRet = DllCall($__xVideo_DLL, "ubyte", "xVideo_Free")
If @error Then Return SetError(@error, 0, 0)
Return $aRet[0]
EndFunc
Func _xVideo_StreamCreateFile($hStream, $pos, $flags)
Local $aRet = DllCall($__xVideo_DLL, "hwnd", "xVideo_StreamCreateFile", "str", $hStream, "dword", $pos, "dword", $flags)
If @error Then Return SetError(@error, 0, 0)
Return $aRet[0]
EndFunc
Func _xVideo_PlayStream($p)
Local $aRet = DllCall($__xVideo_DLL, "ubyte", "xVideo_ChannelPlay", "dword", $p)
If @error Then Return SetError(@error, 0, 0)
Return $aRet[0]
EndFunc
Func _xVideo_ChannelAddWindow($chan, $win)
Local $aRet = DllCall($__xVideo_DLL, "hwnd", "xVideo_ChannelAddWindow", "dword", $chan, "hwnd", $win)
If @error Then Return SetError(@error, 0, 0)
Return $aRet[0]
EndFunc
Func _xVideo_SetConfig($option, $value)
Local $aRet = DllCall($__xVideo_DLL, "ubyte", "xVideo_SetConfig", "dword", $option, "dword", $value)
If @error Then Return SetError(@error, 0, 0)
Return $aRet[0]
EndFunc
Func _xVideo_ChannelSetPosition($chan, $pos, $mode)
Local $aRet = DllCall($__xVideo_DLL, "ubyte", "xVideo_ChannelSetPosition", "dword", $chan, "double", $pos, "dword", $mode)
If @error Then Return SetError(@error, 0, 0)
Return $aRet[0]
EndFunc
Func _xVideo_ChannelGetPosition($chan, $mode)
Local $aRet = DllCall($__xVideo_DLL, "double", "xVideo_ChannelGetPosition", "dword", $chan, "dword", $mode)
If @error Then Return SetError(@error, 0, 0)
Return $aRet[0]
EndFunc
Func _xVideo_ChannelResizeWindow($chan, $left, $top, $right, $bottom)
Local $aRet = DllCall($__xVideo_DLL, "none", "xVideo_ChannelResizeWindow", "dword", $chan, "int", $left, "int", $top, "int", $right, "int", $bottom)
If @error Then Return SetError(@error, 0, 0)
Return $aRet[0]
EndFunc
Func _xVideo_UDF_Open()
$__xVideo_DLL = DllOpen("xVideo.dll")
If @error Then Return SetError(@error, 0, 0)
EndFunc
Func _xVideo_UDF_Close()
DllCall($__xVideo_DLL, "long", "xVideo_Free")
DllClose($__xVideo_DLL)
EndFunc
ok werde mich mal drann versuchen
danke fuer deine hilfe
hallo Marthog
die geht natuerlich auch kann aber keine dvd abspielen und unter win7 sieht das video nicht so besonders aus.
das habe ich bisher probiert.
[autoit]$1 = GUICreate("", 600, 500)
[/autoit][autoit][/autoit][autoit]DllCall("xVideo.dll", "long", "xVideo_Free")
DllCall("xVideo.dll", "long", "xVideo_Init", "long", "0")
$chan = DllCall("xVideo.dll", "long", "xVideo_StreamCreateFile", "str", "C:\3.avi", "long", "0", "long", "0"); xVideo_StreamCreateFile(OpenFile.lpstrFile, 0, 0) ;"xVideo.dll" (ByVal strfile As String, ByVal pos As Long, ByVal PCHARflags As Long) As Long
[/autoit][autoit][/autoit][autoit]DllCall("xVideo.dll", "none", "xVideo_ChannelSetWindow", "long", $chan, "ptr", WinGetHandle($1))
DllCall("xVideo.dll", "long", "xVideo_ChannelPlay", "long", $chan)
GUISetState()
Sleep(5000)
[/autoit]Hallo
Gibt es eigentlich eine UDF für xVIDEO.dll?
http://surodev.com/?page_id=94
oder Bass Video dll
Vielen Dank
hallo
ich kriege es einfach nicht hin in einem Label als text ein & auszugeben
in einer msgbox geht es.
MsgBox(0, "", "A&B")
[/autoit][autoit][/autoit][autoit]GUICreate("", 300, 100)
GUICtrlCreateLabel("A&B", 10, 10, 200, 25)
GUISetState()
[/autoit][autoit][/autoit][autoit]Sleep(3000)
[/autoit]habe den infrarotempfaenger von dieser seite http://www.mikrocontroller.net/articles/USB_IR_Remote_Receiver
da ist auch die dll dabei die man zum ansteuern braucht.
mfg
hallo
kann mir jemand mit der Übersetzung vom c++ nach autoit helfen?
ich möchte eine dll ansprechen die mir den infrarot code einer Fernbedienung zurückgibt.
der infrarot Empfänger ist ein nachbau von dieser seite http://www.mikrocontroller.net/articles/USB_IR_Remote_Receiver .
/////////////////////////////////////////////////////////////////
// example how to load and work with the "USB IR Remote Receiver"
// this example is written with Visual Studio 2008
// (c) by Portisch 2010
/////////////////////////////////////////////////////////////////
#include <windows.h>
#include <stdio.h>
// DLL Version
typedef char* (__stdcall *impVersion)(void);
// DLL Copyright
typedef char* (__stdcall *impCopyright)(void);
// DLL PluginName
typedef char* (__stdcall *impPluginName)(void);
// DLL Option dialog
typedef void (__stdcall *impShowSettings)(HWND);
// native IR Data by PAnsiChar
typedef void CALLBACK CallBackPAnsiChar(char*, char*, char*, char*);
typedef int (__stdcall *impInitPAnsiChar)(CallBackPAnsiChar);
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
// native IR Data init
#pragma pack(1) // set pack alignment to 1 padding byte
typedef struct
{
BYTE Protocol;
WORD Address;
WORD Command;
BYTE Flags;
} IRMP_DATA;
#pragma pack() // default alignment
typedef void CALLBACK CallBackIRData(IRMP_DATA);
typedef int (__stdcall *impInitIRData)(CallBackIRData);
CALLBACK MyCallBackPAnsiChar(char* Protocol, char* Address, char* Command, char* Flags)
{
printf("\nIR Data received: Protocol: %s, Address: 0x%s, Command: 0x%s, Flags: 0x%s", Protocol, Address, Command, Flags);
}
CALLBACK MyCallBackIRData(IRMP_DATA ir_code)
{
printf("\nIR Data received1: Protocol: 0xX, Address: 0xX, Command: 0xX, Flags: 0xX", ir_code.Protocol, ir_code.Address, ir_code.Command, ir_code.Flags);
}
int main(int argc, char **argv)
{
impVersion Version = NULL;
impCopyright Copyright = NULL;
impPluginName PluginName = NULL;
impInitPAnsiChar InitPAnsiChar = NULL;
impInitIRData InitNative = NULL;
impShowSettings ShowSettings = NULL;
char ch;
HWND hwnd;
char * Buffer;
// Load DLL file
HINSTANCE hinstLib = LoadLibrary(TEXT("USB_IR_Remote_Receiver.dll"));
if (hinstLib == NULL) {
printf("\nERROR: unable to load DLL\n");
return 1;
}
// Get function pointer PluginName
PluginName = (impPluginName)GetProcAddress(hinstLib, "PluginName");
if (PluginName == NULL) {
printf("\nERROR: unable to find DLL function\n");
FreeLibrary(hinstLib);
return 1;
}
// Get function pointer Version
Version = (impVersion)GetProcAddress(hinstLib, "Version");
if (Version == NULL) {
printf("\nERROR: unable to find DLL function\n");
FreeLibrary(hinstLib);
return 1;
}
// Get function pointer Copyright
Copyright = (impCopyright)GetProcAddress(hinstLib, "Copyright");
if (Copyright == NULL) {
printf("\nERROR: unable to find DLL function\n");
FreeLibrary(hinstLib);
return 1;
}
// Get function pointer ShowSettings
ShowSettings = (impShowSettings)GetProcAddress(hinstLib, "ShowSettings");
if (ShowSettings == NULL) {
printf("\nERROR: unable to find DLL function\n");
FreeLibrary(hinstLib);
return 1;
}
// Call function.
Buffer = PluginName();
// Display result
printf("\nThe DLL PluginName is: %s\n", Buffer);
// Call function.
Buffer = Version();
// Display result
printf("\nThe DLL version is: %s\n", Buffer);
// Call function.
Buffer = Copyright();
// Display result
printf("\nThe DLL Copyright is: %s\n", Buffer);
printf("\nPlease define if DLL init by native IR Data or by PAnsiChar!");
printf("\nPress [1] for native IR Data");
printf("\nPress [2] for IR Data in PAnsiChar");
printf("\n\nPlease enter a command!");
ch = getch();
switch(ch)
{
case '1':
// Get function pointer InitNative
InitNative = (impInitPAnsiChar)GetProcAddress(hinstLib, "InitNative");
if (InitNative == NULL) {
printf("\nERROR: unable to find DLL function\n");
FreeLibrary(hinstLib);
return 1;
}
if (InitNative(*MyCallBackIRData))
{
printf("\nInit DLL with InitIRData successfull");
}
else
{
// Unload DLL file
FreeLibrary(hinstLib);
return 0;
}
break;
case '2':
// Get function pointer InitPAnsiChar
InitPAnsiChar = (impInitPAnsiChar)GetProcAddress(hinstLib, "InitPAnsiChar");
if (InitPAnsiChar == NULL) {
printf("\nERROR: unable to find DLL function\n");
FreeLibrary(hinstLib);
return 1;
}
if (InitPAnsiChar(*MyCallBackPAnsiChar))
{
printf("\nInit DLL with InitPAnsiChar successfull");
}
else
{
// Unload DLL file
FreeLibrary(hinstLib);
return 0;
}
break;
}
printf("\n\nPress [s] to show settings dialog");
printf("\nPress [x] to exit");
printf("\n\nPlease enter a command!");
// get hwnd from console window
hwnd = GetConsoleWindow();
// repeat until exit
while(1)
{
ch = getch();
switch(ch)
{
// show settings/options dialog of DLL
case 's':
//show settings dialog of DLL
ShowSettings(&hwnd);
break;
// exit program
case 'x':
if (InitNative != NULL)
InitNative(NULL);
if (InitPAnsiChar != NULL)
InitPAnsiChar(NULL);
// Unload DLL file
FreeLibrary(hinstLib);
return 0;
}
}
return 0;
}
Alles anzeigen
das habe ich bisher gemacht
[autoit]$1 = DllOpen("USB_IR_Remote_Receiver.dll")
[/autoit][autoit][/autoit][autoit]$str = "byte Protocol;"
$str&= "dword Address;"
$str&= "dword Command;"
$str&= "byte Flags;"
$a = DllStructCreate($str)
[/autoit][autoit][/autoit][autoit]$result = DllCall("USB_IR_Remote_Receiver.dll", "str", "InitNative", "ptr", DllStructGetPtr($a))
[/autoit][autoit][/autoit][autoit]ToolTip(DllStructGetData($a,1) & @CRLF & DllStructGetData($a,2) & @CRLF & DllStructGetData($a,3) & @CRLF & DllStructGetData($a,4) & @CRLF, 900, 100)
[/autoit]