Inquiridor
Serviço do Windows que execute um aplicativo

Pergunta
-
Olá a todos, preciso de uma ajuda ...
Possuo uma aplicação que ela deve funcionar como um serviço do windows (vb6) , daí tive a idéia de fazer um serviço do windows e chamar a aplicação através do comando shell( "path do meu arquivo executável" ) no onStart(). Consegui registrar o serviço, já vi que o mesmo está rodando na lista de serviços do windows, porém a aplicação não é executada,
mesmo eu marcando nas propriedades do serviço itereja com a área de trabalho. E ai o que eu estou fazendo de errado? Alguém poderia me ajudar?
Grata,
Angela Peixoto
Todas as Respostas
-
Angela,
Da uma lida nesse post http://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=2203005&SiteID=21. Acho que não tem como você interagir com a área de trabalho...
Eu tentei fazer um serviço de sincronia quando inseria um pendrive na máquina. Também tive o mesmo problema que o seu e não consegui resolver.
Valeu.
-
Oi Andre, eu já tinha visualizado este tótpico... consegui fazer a aplicaç~çao rodar como serviço, porém estou agora com outra dúvid a que é a seguinte: como a aplicação agora é um serviço do windows ele faz acesso ao registro do windows? A chave de conexão tá lá certinha e ele não lê...alguma idéia?
vlw.
-
Faz acesso ao registro sim, inclusive eu fiz um projeto recentemente em que um Windows Service pegava um valor do registro do windows...
E fiz um exemplo rápido para testar e funcionou...
protected
override void OnStart(string[] args){
w.WriteLine(
Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Citrix\ICA Client").GetValue("MsiInstallDir").ToString());w.Close();
Verifique com que conta o serviço está rodando (LocalSystem, NetworkService, User, etc.)... derrepente pode ser algum problema de permissão...
Valeu!
-
Oi Andre, o meu problema eh que estou fazendo isso no vb6.. eu fiz o seguinte: eu tenho uma aplicação em vb6, criei no .net um Windows Service e no OnStart coloquei shell ("path do meu .exe em vb6"). No meu programa vb6 tenho uma função para conectar a base de dados que usa a função GetSetting que pega os valores da chaves do registro do windows onde contém o caminho da base de dados. Detalhe antes de colocar como serviço o GetSetting pegava o caminho certinho, so que agora ele pega 0 ou seja, null...
Agora tem o seguinte eu realmente tinha pensando se o problema é porque o serviço está rodando no LocalSystem, e os valores das chaves estah em hkey_current_users/softwares/vb and vba... e o GetSetting não tá lendo essa arvore no registro. Estou certa ou errada? Vo^cê agora entendeu meu problema?
Vlw.