#include #include #include #include #Region ### START Koda GUI section ### Global $GUI1 = GUICreate("OEM <-> ANSI Converter", 618, 257, -1, -1) Global $TxtSrc = GUICtrlCreateEdit("", 10, 15, 240, 200, BitOR($ES_MULTILINE,$ES_AUTOVSCROLL,$ES_WANTRETURN,$WS_TABSTOP,$WS_VSCROLL,$WS_VISIBLE,$WS_CHILD)) Global $TxtDst = GUICtrlCreateEdit("", 365, 15, 240, 200, BitOR($ES_MULTILINE,$ES_AUTOVSCROLL,$ES_READONLY,$ES_WANTRETURN,$WS_TABSTOP,$WS_VSCROLL,$WS_VISIBLE,$WS_CHILD)) Global $OEMtoANSI = GUICtrlCreateButton("OEM To ANSI =>", 256, 55, 100, 25) Global $ANSIToOEM = GUICtrlCreateButton("ANSI To OEM =>", 256, 104, 100, 25) Global $Clear = GUICtrlCreateButton("Tout effacer", 256, 152, 99, 25) Global $PasteANSI = GUICtrlCreateButton("Presse Papier Vers ANSI", 174, 220, 130, 25) Global $PasteOEM = GUICtrlCreateButton("Presse Papier Vers OEM", 318, 220, 130, 25) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $OEMtoANSI GUICtrlSetData($TxtDst, _OEMToAnsi(GUICtrlRead($TxtSrc))) ClipPut(GUICtrlRead($TxtDst)) Case $ANSIToOEM GUICtrlSetData($TxtDst, _AnsiToOEM(GUICtrlRead($TxtSrc))) ClipPut(GUICtrlRead($TxtDst)) Case $Clear GUICtrlSetData($TxtSrc, "") GUICtrlSetData($TxtDst, "") ClipPut("") Case $PasteANSI GUICtrlSetData($TxtSrc, ClipGet()) GUICtrlSetData($TxtDst, _OEMToAnsi(GUICtrlRead($TxtSrc))) ClipPut(GUICtrlRead($TxtDst)) Case $PasteOEM GUICtrlSetData($TxtSrc, ClipGet()) GUICtrlSetData($TxtDst, _AnsiToOEM(GUICtrlRead($TxtSrc))) ClipPut(GUICtrlRead($TxtDst)) EndSwitch WEnd Func _AnsiToOEM($sAnsi) Local $a_OEMFName = DllCall('user32.dll', 'Int', 'CharToOem', 'str', $sAnsi, 'str', '') If @error = 0 Then Return $a_OEMFName[2] EndFunc ;==>_AnsiToOEM Func _OEMToAnsi($sOEM) Local $a_AnsiFName = DllCall('user32.dll', 'Int', 'OemToChar', 'str', $sOEM, 'str', '') If @error = 0 Then $sAnsi = $a_AnsiFName[2] Return $sAnsi EndFunc ;==>_OEMToAnsi