Avatar billede force_master Praktikant
18. juli 2004 - 22:01 Der er 2 kommentarer og
1 løsning

starte en sub i et andet program

Hej

Jeg opretter en genvej på skrivebordet , inde fra mit program, og samtidig går mit program i hi nede på procceslinjen , med et lille icon nede ved uret.
når man så trykker på den genvej på skrivebordet , skal den eksekvere en SUB inde i mit program , som kører i baggrunden.
giver det mening , og er det muligt at lave. ?


MVH
Force Master
Avatar billede sjh Nybegynder
19. juli 2004 - 17:29 #1
Jeg trot bare det er den kode her du mener...


'-------------------------------------- Form1 --------------------------------------
Option Explicit

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function IsIconic Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function BringWindowToTop Lib "user32" (ByVal hWnd As Long) As Long

Private Const SW_SHOW    As Long = 5
Private Const SW_RESTORE As Long = 9

' Her skriver du navnet på dit program som skal stå i vinduet.
Private Const APP_CAPTION As String = "Mit program"

Private Sub Form_Load()
Dim lhwnd As Long
  'PrevInstance vil give true hvis programmet er startet.
  If App.PrevInstance Then
    ' Her setter vi navnet på vinduet (Program start 2) til "$" så vi ikke _
      finde (Program start 1).
    Me.Caption = "$"

    ' Her finder vi det vindue med APP_CAPTION. (Program start 1)
    lhwnd = FindWindow(vbNullString, APP_CAPTION)

    ' Hvis (Program start 1) ikke er i fokus
    If lhwnd <> GetForegroundWindow() Then
      If IsIconic(lhwnd) Then
        ' Hvis (Program start 1) er minimeret
        Call ShowWindow(lhwnd, SW_RESTORE)
          Else
        ' Hvis (Program start 1) er skjult
        Call ShowWindow(lhwnd, SW_SHOW)
      End If
    End If

    ' Løfter (Program start 1) til top og setter det i fokus.
    Call BringWindowToTop(lhwnd)
    Call SetForegroundWindow(lhwnd)

    ' Her afslutter vi (Program start 2) med End og ikke med Unload _
      da Unload ikke er hurtig nok til at afslutte programmet _
      vil den få en halv fokus.
    End
  End If

  ' Hvis PrevInstance give false så er det første gang programmet starter _
    og vi sette navnet på vinduet. (Program start 1)
  Me.Caption = APP_CAPTION
 
  '**** Her fra kan du indtaste rasten af den kode i dit program som skal køre under opstart ****




  '**********************************************************************************************
End Sub
'-------------------------------------- Form1 --------------------------------------
Avatar billede sjh Nybegynder
19. juli 2004 - 17:40 #2
den her skal lyde sådan ;)

    ' Her setter vi navnet på vinduet (Program start 2) til "$" så vi _
      finde (Program start 1 APP_CAPTION).
Avatar billede dark-devil Nybegynder
19. juli 2004 - 20:54 #3
Spg, 521000. Nice =)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester