تقييم الموضوع :
  • 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 , اسامه الهرماوي , ابراهيم ايبو


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  هل يمكن جعل عناوين الهيدر بشكل عمودي مصمم هاوي 2 108 16-04-24, 03:59 AM
آخر رد: مصمم هاوي
  استخدام فونت جديد في البرنامج Emam emam 5 91 14-04-24, 01:29 PM
آخر رد: عبد العزيز البسكري
  عدم القدرة على إغلاق البرنامج وظهور رسالة the operation could not be completed صالح عبدالله 2 62 12-04-24, 06:03 AM
آخر رد: صالح عبدالله
  [VB.NET] حفظ الفورم (Form) (البرنامج) بعد التغيير visualist2015 8 6,460 12-04-24, 04:07 AM
آخر رد: أبو جودة
  تغيير المسار الي مسار البرنامج في تقرير ميكروسوفت atefkhalf2004 2 107 02-04-24, 05:05 PM
آخر رد: atefkhalf2004
Exclamation [سؤال] كيف يمكن الغاء السوال عند الكتابة على ملف موجود dell 0 76 19-03-24, 01:23 AM
آخر رد: dell
  مشكلة عند نقل البرنامج من فيجوال 2013 الى فيجوال 2017 strongriseman 5 156 12-03-24, 10:37 AM
آخر رد: strongriseman
  محتاج تشفير فيديو وتشغلية عن طريق البرنامج فقط new_programer 1 118 22-02-24, 12:09 PM
آخر رد: AHMED213
  مطلوب كود الطباعة لهذا البرنامج melad2002 2 246 13-01-24, 06:42 PM
آخر رد: melad2002
  مشكلة تعليق البرنامج في حال عدم وجود ماسح ضوئي متصل بالكمبيوتر صالح عبدالله 1 212 09-01-24, 10:51 PM
آخر رد: صالح عبدالله

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


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