Что нового

Изображение в буфер обмена в программу написанную на C# (функция)

ilionis

Новичок
Сообщения
5
Репутация
0
Код:
#include <WinAPIEx.au3>
#include <ScreenCapture.au3>
#Include <GDIPlus.au3>
#include <Misc.au3>

_Screenshoot(WinGetHandle("II"))
Func _Screenshoot ($hWnd)
   Local $hDDC, $hCDC, $hBMP
   $iWidth = _WinAPI_GetWindowWidth($hWnd)
   $iHeight = _WinAPI_GetWindowHeight($hWnd)
   $hDDC = _WinAPI_GetDC($hWnd)
   $hCDC = _WinAPI_CreateCompatibleDC($hDDC)
   $hBMP = _WinAPI_CreateCompatibleBitmap($hDDC, $iWidth, $iHeight)
   _WinAPI_SelectObject($hCDC, $hBMP)
   DllCall("User32.dll", "int", "PrintWindow", "hwnd", $hWnd, "hwnd", $hCDC, "int", 0)
   _WinAPI_ReleaseDC($hWnd, $hDDC)
   _WinAPI_DeleteDC($hCDC)
   _ScreenCapture_SaveImage("screen.jpg",$hBMP)
   $sFile =@ScriptDir &"\"&"screen.jpg" 
   _ClipPutFile($sFile)
	EndFunc

Есть код который делает скриншот неактивного окна ,а затем отправляет его в буфер обмена. Мне нужно получить этот файл в программе написанной на C# ,но я не найду никак функции которая мне поможет.
 
Автор
I

ilionis

Новичок
Сообщения
5
Репутация
0
Вообщем как правильно отправить изображение в буфер(AutoIt) , а затем получить его на C#
 

sims

Осваивающий
Сообщения
184
Репутация
24
Не проще этот код переписать на C#?

Сохранять картинку в файл, а затем помещать ее в буфер обмена, это нерационально! Картинку можно поместить в буфер без сохранения на диск.
 

sims

Осваивающий
Сообщения
184
Репутация
24
Может быть, но со слов ТС ему нужно.
ilionis [?]
как правильно отправить изображение в буфер(AutoIt) , а затем получить его на C#
Непонятно зачем такое потребовалось.
 

MaximK

Знающий
Сообщения
33
Репутация
5
Идете на pinvoke.net и находите обертки (wrapper) на WinApi функции. А дальше дело техники.
 
Автор
I

ilionis

Новичок
Сообщения
5
Репутация
0
Идете на pinvoke.net и находите обертки (wrapper) на WinApi функции. А дальше дело техники.
Не могли бы вы показать пример а то я что-то никак не догадаюсь
 
Верх