Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: не могу поставить поверх всех окон Добавлено: 04.07.11 00:10  

Автор вопроса:  Globus
Итак....пишу простенькую программу-счётчик, которая просто подсчитывает нажатие определённых клавиш посредством их перехвата в фоновом режиме...вот код
Option Explicit
Dim x As Integer
Dim n As Integer
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
 
Function GetPressedKey() As Long
Dim Cnt As Long
    For Cnt = 32 To 128
        If GetAsyncKeyState(Cnt) <> 0 Then
            GetPressedKey = Cnt
            Exit For
        End If
    Next Cnt
End Function
 
Private Sub Command2_Click()
Form2.Visible = True
End Sub

Private Sub Form_Load()
x = 116
n = 4
End Sub

Sub Timer1_Timer()
   If GetPressedKey = x Then Text2.Text = Val(Text2.Text) + 1
End Sub
 
Private Sub Command1_Click()
Text2.Text = Text1.Text
End Sub
Private Sub Combo1_Click()
Select Case Combo1.ListIndex
    Case Is = 0
        x = 112
  
    Case Is = 1
        x = 113
 
    Case Is = 2
        x = 114
 
    Case Is = 3
        x = 115
 
    Case Is = 4
        x = 116

    Case Is = 5
        x = 117
 
    Case Is = 6
        x = 118
  
    Case Is = 7
        x = 119
 
    Case Is = 8
        x = 120

    Case Is = 9
        x = 121

    Case Is = 10
        x = 122

    Case Is = 11
        x = 123
 End Select
End Sub

И мне надо добавить вот такой код:
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Dim iTopMost As Boolean
Public Property Get TopMost() As Boolean
TopMost = iTopMost
End Property
Public Property Let TopMost(ByVal newValue As Boolean)
iTopMost = newValue
If iTopMost Then
Call SetWindowPos(hwnd, -1, 0, 0, 0, 0, 3)
Else
Call SetWindowPos(hwnd, -2, 0, 0, 0, 0, 3)
End If
End Property

который добавит свойство TopMost к форме, который и будет делать её поверх окон..... эту часть я скопировал с этого сайта, там написано
Пишеш перед кодом формы:

так и делаю, а оно нивкакую((((
помогите пожалуйста, очень надо!!

Ответить

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

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



Вопросов: 0
Ответов: 140
 Профиль | | #1 Добавлено: 04.07.11 01:12
Вот горе то..
  1. Private Sub Form_Load()
  2. Me.TopMost = True
  3. ....

Ответить

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



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #2 Добавлено: 04.07.11 09:28
Case Is = 0
        x = 112
   
    Case Is = 1
        x = 113
  
    Case Is = 2
        x = 114
  
    Case Is = 3
        x = 115
  
    Case Is = 4
        x = 116

    Case Is = 5
        x = 117
  
    Case Is = 6
        x = 118
   
    Case Is = 7
        x = 119
  
    Case Is = 8
        x = 120

    Case Is = 9
        x = 121

    Case Is = 10
        x = 122

    Case Is = 11
        x = 123
Вот они, говнокодеры...
  1. x = Combo1.ListIndex + 112

Ответить

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



ICQ: 305986093 

Вопросов: 3
Ответов: 41
 Профиль | | #3 Добавлено: 04.07.11 12:18
Каддафи М он скорее всего на vb 6 программирует, а не на vb.net.
Globus много-обсуждаемая тема в инете, лучше бы погуглил (http://www.cyberforum.ru/visual-basic/thread160872.html), AgentFire критика конечно справедливая, но жесткая.

Ответить

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



Вопросов: 0
Ответов: 140
 Профиль | | #4 Добавлено: 04.07.11 12:45
Ну разумеется, на vb6. Я ещё из ума не выжил, могу отличить.

Ответить

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



ICQ: 305986093 

Вопросов: 3
Ответов: 41
 Профиль | | #5 Добавлено: 04.07.11 13:04
Ну насколько я знаю, что VB.6 не понимает topmost. Или я не прав?

Ответить

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



Вопросов: 0
Ответов: 140
 Профиль | | #6 Добавлено: 04.07.11 13:10
Вот поэтому Globus и добавил "Public Property Let" в модуль формы, только вызвать не удосужился.

Ответить

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



ICQ: 305986093 

Вопросов: 3
Ответов: 41
 Профиль | | #7 Добавлено: 04.07.11 13:19
Ой извиняй за невнимательность, привычка беглого чтения и на TopMost ассоциация с vb.net ))).

Ответить

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



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #8 Добавлено: 04.07.11 15:22
а причем тут vb.net или не vb.net?? То, что автор пишет страничный говнокод, который на обоих упомянутых языках можно конвертировать в одну строчку - эпичный фейл

Ответить

Страница: 1 |

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



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