Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Starta program i ordning

Postades av 2001-09-26 11:50:00 - Johan Hjort, i forum visual basic - allmänt, Tråden har 7 Kommentarer och lästs av 543 personer

Jag vill att program1 ska starta först och när det har
startat klart så ska program2 starta. Sedan ska program3 startas
och när det har startat klart så ska program4 starta.

Hur gör jag?

/Hjorten


Svara

Sv: Starta program i ordning

Postades av 2001-09-26 13:54:00 - Stefan Carlsson

Vet inte hur du startar dina program, men jag misstänker att du använder ShellExecute.

Om du kan köra ShellExecute, och det inte returnerar något fel, så är programmet startat. Sedan är det upp till programmet (word, excel, whatever) att skicka ett meddelande eller motsvarande när en caret har dykt upp och programmet är redo för "input". Men om några program gör detta så misstänker jag att det är olika för samtliga.

Har sett vissa program lösa detta genom att lägga in en delay på ex. 10000 ms., efter ShellExecute.

Ledsen att jag inte kan ge dig något bättre tips.

I och för sig, så kanske du kan kolla när en viss class har skapats???
Har inte testat än, men har för mig att det finns ett API som heter FindWindow motsvarande. Du kan ju köra

Do
Loop Until FindWindow("WordSplash") <<< Exempel, ser troligen inte ut så här

Men det blir i och för sig inte någon universal lösning, men det kanske du inte vill ha?

Så, nu kommer jag inte på nåt bättre.

Hoppas det löser sig.
Hör gärna av dig om du kommer på något, eller om detta fungerar ypperligt.

//Galaxeir


Svara

Sv: Starta program i ordning

Postades av 2001-09-26 18:58:00 - Johan Hjort

Efter lite tjatande på #vb på DALnet så fick jag följande ledtråd:

"shell the first one, get process ID as return code, open process id to get a handle, WaitForInputIdle on that handle, then shell second."

Någon som orkar hjälpa mig??

/Hjorten


Svara

Sv: Starta program i ordning

Postades av 2001-09-27 10:05:00 - Dan Persson

I tips och trix finns ett exempel på hur man startar scandisk och kör det och väntar på att det ska köra klart. Du kanske kan göra nått med det.

MvH Dan "DaPe" Persson


Svara

Sv: Starta program i ordning

Postades av 2001-09-28 10:40:00 - Stefan Carlsson

Lite Delphi kod, du får översätta till lämpligt språk själv, samt skriva alla DECLARE satser ;.)
Eller använd delphi, och skriv enbart "Uses Windows, ShellAPI" ;.)

Det borde fungera något så här

pid := ShellExecute(0, "open", "c:\windows\calc.exe", nil, "c:\windows", SW_SHOWDEFAULT);
process = OpenProcess(PROCESS_QUERY_INFORMATION+SYNCHRONIZE,FALSE,pid);
^Detta kan du få labba med, kan inte riktigt funktionen
WaitForInputIdle(process, timeout);

Starta nästa program här




ps. Kanske skulle vara bättre att använda CreateProcess??? eller Kanske inte...

//Galaxeir


Svara

Sv: Starta program i ordning

Postades av 2001-09-28 12:43:00 - Johan Hjort

Tack för all hjälp men jag lyckades lösa det själv.
Använde helt enkelt Shell och några timers...

/Hjorten


Svara

Sv: Starta program i ordning

Postades av 2001-09-29 20:10:00 - Stefan Carlsson

Låter som en inte riktigt reglementerad lösning... ;.)

/Galaxeir


Svara

Sv: Starta program i ordning

Postades av 2001-10-01 16:13:00 - Hans Kylberg

Jag har använt följande, men det funkade inte i W2000 (jag har haft inlägg här om det tidigare)

- Hans

Public Declare Function OpenProcess Lib "Kernel32" _
(ByVal dwDesiredAccess As Long, _
ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long

Public Declare Function GetExitCodeProcess Lib "Kernel32" _
(ByVal hProcess As Long, lpExitCode As Long) As Long

Public Declare Function CloseHandle Lib "Kernel32" _
(ByVal hObject As Long) As Long

Public Const PROCESS_QUERY_INFORMATION = &H400
Public Const STATUS_PENDING = &H103&
'
Sub RunShell(cmdline As String)

Dim hProcess As Long
Dim ProcessId As Long
Dim exitCode As Long


ProcessId = Shell(cmdline, vbNormalFocus) 'Siffran anger hur programmet skall köras 6=Minimized
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, ProcessId)

Do

Call GetExitCodeProcess(hProcess, exitCode)
DoEvents

Loop While exitCode = STATUS_PENDING

Call CloseHandle(hProcess)

' MsgBox "The shelled process " & cmdline & " has ended."


End Sub

Public Sub launch(commandline As String)
MsgBox "launch"
RunShell (commandline)
End Sub


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 627
27 953
271 710
871
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies