• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 345
  • Last Modified:

Detect when Windows has finished loading

Hi,
Is there a key (or anything) that i can read from windows to know that it  has finished loading?
Can you provide some techniques to detect when Windows has finished loading especially using WMI, Visual Basic6 or Windows API?
I have a program that runs at startup, and i need it to open after the windows has finished loading (network is initialized etc).
Regards,
Cristi
0
Cristi_E
Asked:
Cristi_E
  • 5
  • 4
2 Solutions
 
Meir RivkinFull stack Software EngineerCommented:
if your program is runs from startup, then u can bet windows has finished loading...if it is depend on specific process/service, u can query their status to make sure they are loaded and running
0
 
Cristi_EAuthor Commented:
For example it reads all the installed printers. Some times it tells that there are no installed printers bechause it cannot read them (or the returned value by the WMI is that there are no printers) and that is i think bechause Windows did not finished loading.
0
 
Meir RivkinFull stack Software EngineerCommented:
so you need to make sure the Spooler service is running and then it should give you list of installed printers.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
Cristi_EAuthor Commented:
Yes in this particular case. It also tryes to connect to the internet and check if a licence is still valid, and also some tymes return a error bechause the network is not ready.
So should i understand that there is no universal method to tell taht windows has finished loading and it is ready to be used?
I really need that for all my programms that run at startup and perform som tasks.
0
 
Meir RivkinFull stack Software EngineerCommented:
windows finished loading is pretty much abstract term, cause to some services are being loaded by windows asynchronously and it take some time for them to run.
other services/applications are dependent on other services/applications to run so it comes to the point where you need to list the requirements by which your program can safely start to run.
this is a known issue and it's being addressed differently depends on the environment.
the most common issue is internet dependency, when it is a requirement for an application to run.
in this case the application detect if internet connectivity is available before starting its tasks.
0
 
Cristi_EAuthor Commented:
OK.
So in my case when i use WMI to read all the installed printers, what should i check first before trying to read them? Is it possible that WMI itself not being ready when i try to use it?
0
 
Meir RivkinFull stack Software EngineerCommented:
you can be positive to use WMI when your program was launched, if that what you are concern about.
0
 
Meir RivkinFull stack Software EngineerCommented:
in case of installed printers, check that the spooler service is running.
0
 
jkrCommented:
Just add your program to

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

and it will be execuuted as soon as Windows has finished loading and before a user logs on. See also http://support.microsoft.com/kb/179365 ("INFO: Run, RunOnce, RunServices, RunServicesOnce and Startup")
0
 
Cristi_EAuthor Commented:
Thenks for help!
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now