تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] كيف يمكن ان يكون البرنامج دائما في المقدمه
#1
Information 
السلام عليكمم اخواني 
*****************
اريد ان اجعل البرنامج يمكن استخدامه فوق لعبه (اريد عند ضغط علي form البرنامج ولا يختفي العبه وي يظهر الديسك توب)
 
استخدمت هذه الاكواد و لم تعمل 

رجاء اذا استطاع احد مساعدتي فليفعل هذا 


PHP كود :
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long_
ByVal hWndInsertAfter 
As LongByVal X As Long_
ByVal Y 
As LongByVal CX As LongByVal CY As Long_
ByVal wFlags 
As Long) As Long
Private Const SWP_NO**** = 2
Private Const SWP_NOSIZE 1
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2

Public Sub SetOnTop(ByVal hwnd As LongByVal bSetOnTop As Boolean)
Dim lR As Long
If bSetOnTop Then
lR 
SetWindowPos(hwndHWND_TOPMOST0000SWP_NO**** Or SWP_NOSIZE)
Else
lR SetWindowPos(hwndHWND_NOTOPMOST0000SWP_NO**** Or SWP_NOSIZE)
End If
End Sub

Private Sub Form_Load()
SetOnTop Form1.hwndTrue
End Sub 
PHP كود :
 Private Declare Function SetWindowPos Lib "user32.dll" (ByVal hwnd As Int32ByVal hWndInsertAfter As Int32ByVal x As Int32ByVal y As Int32ByVal cx As Int32ByVal cy As Int32ByVal wFlags As Int32) As Int32
   
Const HWND_TOPMOST = -1
   
Const HWND_NOTOPMOST = -2                
   
Const SWP_NOSIZE = &H1
   
Const SWP_NOMOVE = &H2
   
Const SWP_NOACTIVATE = &H10
   
Const SWP_SHOWWINDOW = &H40
'form load
SetWindowPos(Handle, HWND_TOPMOST, Left / 15, Top / 15, Width / 15, Height / 15, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE)

'
*******************************************************
'???????????????????????????????????????????????????????
Public Class Form2   
    Public Declare Function apiFindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
    Public Declare Function apiGetTopWindow Lib "user32" Alias "GetTopWindow" (ByVal hwnd As Integer) As Integer
    Public Declare Function apiGetDesktopWindow Lib "user32" Alias "GetDesktopWindow" () As Integer
    Dim rTopMost As New System.Threading.Thread(AddressOf ReturnTopMost) '
Declare thread for returning topmost

    Delegate 
Function HandleDelegate() As Int32
    Public hndl 
As HandleDelegate

    Delegate Sub setTopMostDelegate
()
 
   Public setTopMost As setTopMostDelegate

    Delegate Sub setRefreshDelegate
()
 
   Public setRefresh As setRefreshDelegate

    Delegate 
Function getTextDelegate() As String
    Public getText 
As getTextDelegate

    Public Sub setTopMostSub
()
 
       Me.TopMost True
    End Sub

    Public Sub setRefreshSub
()
 
       Me.Refresh()
 
   End Sub

    Public 
Function getHandleFunc() As Int32
        Return Me
.Handle.ToInt32
    End 
Function

 
   Public Function getTextSub() As String
        Return Me
.Text.ToString
    End 
Function

 
   Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        hndl 
= New HandleDelegate(AddressOf getHandleFunc)
 
       setTopMost = New setTopMostDelegate(AddressOf setTopMostSub)
 
       setRefresh = New setRefreshDelegate(AddressOf setRefreshSub)
 
       getText = New getTextDelegate(AddressOf getTextSub)

 
       rTopMost.Start() 'Start Return Top Most thread.
    End Sub

    Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
        rTopMost.Abort() '
Abort TopMost thread if the main form is closed 
    End Sub

    Public Sub ReturnTopMost
()

 
       Dim iHndl As Int32

        iHndl 
Me.Invoke(hndl)

 
       Try
            Do
                System
.Threading.Thread.Sleep(1'Sleep for a short period
                If apiGetTopWindow(apiGetDesktopWindow) <> iHndl Then
                    Me.Invoke(setTopMost)
                    Me.Invoke(setRefresh)
                End If
                apiFindWindow(vbNullString, Me.Invoke(getText))  '
This throws an error if the main window has been terminated.
 
           Loop
        Catch ex 
As Exception
            MessageBox
.Show(ex.Message)
 
       End Try

 
   End Sub

End 
Class 
PHP كود :
<DllImport("user32.dll"SetLastError:=True)> _
Private Shared Function SetWindowPos(ByVal hWnd As IntPtrByVal hWndInsertAfter As IntPtr_
                                     ByVal X 
As IntegerByVal Y As IntegerByVal cx As Integer_
                                     ByVal cy 
As IntegerByVal uFlags As UInt32) As Boolean
End 
Function

ReadOnly HWND_TOPMOST As New IntPtr(-1)
Shared ReadOnly SWP_NOSIZE As UInt32 Convert.ToUInt32(&H1)
Shared ReadOnly SWP_NOMOVE As UInt32 Convert.ToUInt32(&H2)

Private 
Sub Timer1_Tick(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Timer1.Tick
    
'Either one of these does the trick
    SetWindowPos(Me.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)
    '
Me.TopMost True
End Sub 
الرد
تم الشكر بواسطة:
#2
السلام عليكم اخي الكريم
تابع هذا الرابط


او اليك الكود وهو مجرب
كود :
Public Class Form1
' نضع هذه الاكواد اولا
   Private Declare Function SetWindowPos Lib "user32.dll" (ByVal hwnd As Int32, ByVal hWndInsertAfter As Int32, ByVal x As Int32, ByVal y As Int32, ByVal cx As Int32, ByVal cy As Int32, ByVal wFlags As Int32) As Int32
   Const HWND_TOPMOST = -1
   Const HWND_NOTOPMOST = -2
   Const SWP_NOSIZE = &H1
   Const SWP_NOMOVE = &H2
   Const SWP_NOACTIVATE = &H10
   Const SWP_SHOWWINDOW = &H40
' ثم في حذث تحميل الفورم
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       SetWindowPos(Handle, HWND_TOPMOST, Left / 15, Top / 15, Width / 15, Height / 15, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE)
   End Sub
End Class
الرد
تم الشكر بواسطة: wared , سعود , عبد العزيز البسكري , black coder
#3
(24-06-19, 07:50 PM)ابراهيم ايبو كتب :
السلام عليكم اخي الكريم
تابع هذا الرابط


او اليك الكود وهو مجرب
كود :
Public Class Form1
' نضع هذه الاكواد اولا
   Private Declare Function SetWindowPos Lib "user32.dll" (ByVal hwnd As Int32, ByVal hWndInsertAfter As Int32, ByVal x As Int32, ByVal y As Int32, ByVal cx As Int32, ByVal cy As Int32, ByVal wFlags As Int32) As Int32
   Const HWND_TOPMOST = -1
   Const HWND_NOTOPMOST = -2
   Const SWP_NOSIZE = &H1
   Const SWP_NOMOVE = &H2
   Const SWP_NOACTIVATE = &H10
   Const SWP_SHOWWINDOW = &H40
' ثم في حذث تحميل الفورم
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       SetWindowPos(Handle, HWND_TOPMOST, Left / 15, Top / 15, Width / 15, Height / 15, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE)
   End Sub
End Class

شكرا اخي سقوم بي التجربه و اخبارك بما حدث
الرد
تم الشكر بواسطة: wared , اسامه الهرماوي


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] عمل البرنامج على جميع نسخ الوندوز ونسخ الاوفس EMAD268716 1 22 منذ 4 ساعة مضت
آخر رد: اسامه الهرماوي
  [سؤال] ممكن الخطا في البرنامج AbdoDabak 5 109 منذ 11 ساعة مضت
آخر رد: AbdoDabak
  تسطيب البرنامج احمد خطاب 1 33 أمس, 01:58 AM
آخر رد: اسامه الهرماوي
  بخصوص تحديث البرنامج ابو روضة 3 101 15-09-19, 02:00 AM
آخر رد: عبد العزيز البسكري
  [VB.NET] عند تفريغ نص يكون كلام باهت اسامه الهرماوي 2 76 15-09-19, 12:54 AM
آخر رد: fullas44
Exclamation [VB.NET] كود يقوم بتحميل الكومبو بوكس من موقع ويدخلها في الكومبو بوكس في البرنامج SnTnt 10 266 13-09-19, 02:23 AM
آخر رد: SnTnt
  [VB.NET] تنصيب البرنامج على جميع نسخ وندوز EMAD5577 1 67 13-09-19, 01:38 AM
آخر رد: ابراهيم ايبو
  [VB.NET] كيف بامكاني معرفة الاشخاص اللى فاتحين البرنامج ميدو الفنان 3 194 11-09-19, 10:57 PM
آخر رد: ميدو الفنان
  [VB.NET] طلب كود تسجيل قيمة بالرجستري في عدم وجود القيمة لن يشتغل البرنامج mac9 12 293 28-08-19, 12:00 AM
آخر رد: mac9
  [VB.NET] مشكلة اثناء التشغيل البرنامج محمد بوقزاحة 1 108 18-08-19, 08:20 PM
آخر رد: سعود

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم