Страница: 1 |
|
Вопрос: нужно переделать код из Vb6 в Vb .net
|
Добавлено: 06.12.09 19:09
|
|
Автор вопроса: Dmitry | ICQ: 293773627
|
Нужно переделать небольшой код из Vb6 в Vb .net 2003, за умеренную оплату WMR
Обрашаюсь к знающим эти платформы
Код размером 175 строк
Ответить
|
Номер ответа: 4 Автор ответа: Dmitry
ICQ: 293773627
Вопросов: 2 Ответов: 17
|
Профиль | | #4
|
Добавлено: 09.12.09 11:42
|
давайте по блокам, начнем с этого:
- Private Declare Function GetDC Lib "user32" (ByVal hWnd As Long) As Long
-
- Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
-
- Private Declare Function ReleaseDC Lib "user32" (ByVal hWnd As Long, ByVal hDC As Long) As Long
-
- Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
-
- Private hWNDSrc As Long
- Private hDCSrc As Long
-
- Private Sub Timer1_Timer()
- hWNDSrc = FindWindow(vbNullString, Combo1.Text & vbNullChar)
- If hWNDSrc > 0 Then
- hDCSrc = GetDC(hWNDSrc)
- Picture1.Cls
- BitBlt Picture1.hDC, 0, 0, 21, 21, hDCSrc, CLng(Text2.Text), CLng(Text3.Text), vbSrcCopy
- ReleaseDC hWNDSrc, hDCSrc
- OCR
- Else
- Picture1.Cls
- Text4.Text = vbNullString
- End If
- End Sub
Ответить
|
Номер ответа: 9 Автор ответа: SSTREGG
Вопросов: 3 Ответов: 64
|
Профиль | | #9
|
Добавлено: 11.12.09 19:17
|
C#:
- [DllImport("user32.dll")]
- private static extern IntPtr GetDC(IntPtr hwnd);
- [DllImport("gdi32.dll")]
- private static extern int BitBlt(IntPtr hDestDC, int x, int y, int nWidth, int nHeight, IntPtr hSrcDC, int xSrc, int ySrc, int dwRop);
- [DllImport("user32.dll")]
- private static extern IntPtr ReleaseDC(IntPtr hwnd, IntPtr hdc);
- [DllImport("user32.dll", EntryPoint = "FindWindowA")]
- private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
- private const int SRCCOPY = 0xCC0020;
-
- IntPtr hWnd = IntPtr.Zero;
- IntPtr hDC = IntPtr.Zero;
-
- private void tmrPaint_Tick(object sender, EventArgs e)
- {
- pbMain.Invalidate();
- }
-
- private void pbMain_Paint(object sender, PaintEventArgs e)
- {
- hWnd = FindWindow(null, cboCap.Text);
- if (hWnd != IntPtr.Zero && (txtFirst.Text.Length != 0 && txtSec.Text.Length != 0))
- {
- hDC = GetDC(hWnd);
- BitBlt(e.Graphics.GetHdc(), 0, 0, 210, 210, hDC, 30, 30, SRCCOPY);
- ReleaseDC(hWnd, hDC);
- e.Graphics.ReleaseHdc();
- }
- else
- {
- txtNull.Text = string.Empty; ;
- }
- }
На VB.NET переводить влом, в нете есть "переводчики" C# -> VB.NET
Ответить
|
Страница: 1 |
Поиск по форуму