Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Как прятать и восстанавливать форму другой програм Добавлено: 25.09.11 23:32  

Автор вопроса:  Progto
Public Class Form1
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
    Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As String) As Integer
    Dim whwnd As Integer
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        whwnd = FindWindow(vbNullString, "Заголовок окна")
        ShowWindow(whwnd, 0)
    End Sub
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        whwnd = FindWindow(vbNullString, "Заголовок окна")
        ShowWindow(whwnd, 5)
    End Sub
End Class


Спрятать получается, а вот восстановить не знаю как :(

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #1 Добавлено: 26.09.11 11:44
ну, значит, не 5

Ответить

Номер ответа: 2
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #2 Добавлено: 26.09.11 13:21
http://www.firststeps.ru/mfc/winapi/win/r.php?99

Ответить

Номер ответа: 3
Автор ответа:
 cutak



Вопросов: 1
Ответов: 1
 Web-сайт: novichek-webmaster.tk/
 Профиль | | #3
Добавлено: 26.09.11 17:58
Упс, такая же проблема=(

Ответить

Номер ответа: 4
Автор ответа:
 Progto



Вопросов: 4
Ответов: 8
 Профиль | | #4 Добавлено: 26.09.11 23:12
AndreyMp, спасибо за хороший справочник, но ничего нового не узнал. Вопрос остаётся открытым :(
  1. Const SW_HIDE = 0
  2.     Const SW_SHOWNORMAL = 1
  3.     Const SW_NORMAL = 1
  4.     Const SW_SHOWMINIMIZED = 2
  5.     Const SW_SHOWMAXIMIZED = 3
  6.     Const SW_MAXIMIZE = 3
  7.     Const SW_SHOWNOACTIVATE = 4
  8.     Const SW_SHOW = 5
  9.     Const SW_MINIMIZE = 6
  10.     Const SW_SHOWMINNOACTIVE = 7
  11.     Const SW_SHOWNA = 8
  12.     Const SW_RESTORE = 9
  13.     Const SW_SHOWDEFAULT = 10
  14.     Const SW_FORCEMINIMIZE = 11
  15.     Const SW_MAX = 11

Ответить

Номер ответа: 5
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #5 Добавлено: 27.09.11 10:35
Как на NET не знаю, на VB6 твой код отрабатывает нормально, и прячет и востанавливает. Причем и 5 и 1.
  1.  
  2. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
  3.      Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
  4.      Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As String) As Integer
  5.      Dim whwnd As Integer
  6.     
  7. Private Sub Command1_Click()
  8.   whwnd = FindWindow(vbNullString, "Безымянный - Блокнот")
  9.   ShowWindow whwnd, 0
  10. End Sub
  11.  
  12. Private Sub Command2_Click()
  13.   whwnd = FindWindow(vbNullString, "Безымянный - Блокнот")
  14.   ShowWindow whwnd, 1
  15. End Sub

Ответить

Номер ответа: 6
Автор ответа:
 Ким Чен Ир



Вопросов: 0
Ответов: 140
 Профиль | | #6 Добавлено: 28.09.11 00:06
Вопрос остаётся открытым

Закроем его: просто кривая декларация ShowWindow для NET у Progto.
И кривая SendMessage для VB6 у AndreyMp.

Ответить

Номер ответа: 7
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #7 Добавлено: 28.09.11 09:34
Я не заморачивался по поводу деклараций.
Конечно
  1. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long

Ответить

Номер ответа: 8
Автор ответа:
 Progto



Вопросов: 4
Ответов: 8
 Профиль | | #8 Добавлено: 30.09.11 00:22
AndreyMp, огромное спасибо. Вот рабочий вариант:
  1. Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As Integer, ByVal nCmdShow As Integer) As Integer


Может у кого завалялся код на vb.net чтобы скрыть процесс из списка процессов в диспетчере задач? Через перехват функций (ZwQuerySystemInformation). Вот тут пример на С:
http://www.securitylab.ru/forum/forum25/topic47650/#message383987
тут на vb.net, но не совсем то:
http://forum.sources.ru/index.php?showtopic=125763&st=0

Ответить

Номер ответа: 9
Автор ответа:
 Progto



Вопросов: 4
Ответов: 8
 Профиль | | #9 Добавлено: 30.09.11 00:23
Каддафи М, и тебе спасибо

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам