Advertisement

02.13.2008 at 09:07AM PST, ID: 23160234
[x]
Attachment Details
[x]
The Solution Rating System

With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.

  • The Grade of the Solution
  • The Zone Rank of the Expert Providing the Solution
  • The Number of Author and Expert Comments
  • The Number of Experts Contributing
  • The Feedback of the Community

Your Input Matters
Because of the way the system is set up, the most important variable in this equation is you. As a member of Experts Exchange, you are able to cast your vote on the quality of the solutions in regard to how complete, accurate, helpful and easy to understand each solution is. When you provide your feedback, each rating is adjusted accordingly. So, if you see a solution that has a poor rating that you think is a good solution, let us know by rating it. As you do, the rating will be adjusted and will become more accurate for other members of our site.

If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support.

Thank you!

How to create a Window service using Visual Studio C++.NET

Tags: C/C++, IE
Hello. I have problems on understanding the creation of building a window service using Visual Studio C++.NET. Im creating a window socket program where the client will communicate with the server by sending messages to the server. Currently, I have already created the client/server application using win32 console and the application works fine. The requirement of the client aplication must be run in hidden mode so i knew that running it as a service may help. So I created a new project and I choose Visual C++ as its project type and the templates would be Window service. Then i click OK and it will create the application where it includes the header files, resource files and the source files. The problem is, Im not sure on where to put my client application code (created using win32 console) in the new created project (window service). I tried to paste it in the filenameWiinService.cpp located at the source files and it works but still when i execute it, the black dos window will appear in which I want it to be hidden. So, what are the steps on creating the window service using Visual Studio C++.NET. Can it be explained in step by step. Thank you and your answers is really appreciated.
Start your free trial to view this solution
Question Stats
Zone: Programming
Question Asked By: Hazwan
Solution Provided By: SwissKnife
Participating Experts: 1
Solution Grade: B
Views: 4
Translate:
Loading Advertisement...
02.13.2008 at 09:15AM PST, ID: 20886018

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
02.13.2008 at 01:49PM PST, ID: 20888628

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
02.14.2008 at 05:59AM PST, ID: 20893245

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
02.14.2008 at 06:08AM PST, ID: 20893318

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
02.14.2008 at 07:25AM PST, ID: 20894028

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
02.16.2008 at 01:54PM PST, ID: 20911526

All comments and solutions are available to Premium Service Members only.

Start your 7 day free trial and see for yourself why Experts Exchange is the easiest and most proven technology resource in the world. Get Started

Already a member? Login to view this solution.

 
 
Loading Advertisement...
Microsoft
  • Internet Protocols
  • Applications
  • Development
  • OS
  • Hardware
  • Windows Security
Apple
  • Operating Systems
  • Hardware
  • Programming
  • Networking
  • Software
Internet
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Spy / Ad Blockers
  • Web Browsers
  • New Net Users
  • Web Development
  • Chat / IM
  • Anti Spam
  • Web Servers
  • Anti-Virus
  • Email Clients
Gamers
  • Tips
  • Online / MMORPG
  • Puzzle
  • Emulators
  • Action / Adventure
  • Role Playing
  • Consoles
  • Game Programming
  • Strategy
  • Sports
  • Misc
  • Computer Games
Digital Living
  • Hardware
  • New Net Users
  • New Users
  • Software
  • Digital Music
  • Gaming World
  • Home Security
  • Apple
  • Networking Hardware
Virus & Spyware
  • Vulnerabilities
  • IDS
  • Encryption
  • Anti-Virus
  • Operating Systems Security
  • Software Firewalls
  • WebApplications
  • Cell Phones
  • Operating Systems
  • Internet
  • Hardware Firewalls
Hardware
  • Handhelds / PDAs
  • Displays / Monitors
  • Components
  • Networking Hardware
  • Peripherals
  • Laptops/Notebooks
  • Storage
  • Servers
  • Desktops
  • New Users
  • Misc
  • Apple
Software
  • System Utilities
  • Industry Specific
  • Network Management
  • Photos / Graphics
  • Page Layout
  • VMWare
  • Misc
  • Web Development
  • OS
  • CYGWIN
  • Voice Recognition
  • Message Queue
  • Quality Assurance
  • Security
  • Firewalls
  • MultiMedia Applications
  • Development
  • Database
  • Office / Productivity
  • Business Management
  • OS/2 Apps
  • Server Software
  • Internet / Email
ITPro
  • OS
  • Storage
  • Encryption
  • Operating Systems Security
  • Apple Hardware
  • Laptops & Notebooks
  • Servers
  • Networking Hardware
  • Peripherals
  • Devices
  • Displays / Monitors
  • WebTrends / Stats
  • Search Engines
  • Firewalls
  • WebApplications
  • IDS
  • Vulnerabilities
  • Email Clients
  • File Sharing
  • Spy / Ad Blockers
  • Web Browsers
  • Web Servers
  • Networking
  • Anti-Virus
  • Chat / IM
  • Anti Spam
Developer
  • Web Servers
  • Web Browsers
  • Game Programming
  • Dev Tools
  • Industry Specific
  • Office / Productivity
  • Database
  • CYGWIN
  • Web Development
  • Search Engines
  • File Sharing
  • WebTrends / Stats
  • Programming
  • Content Management
  • Application Servers
  • Protocols
Storage
  • Removable Backup Media
  • Storage Technology
  • Servers
  • Grid
  • Remote Access
  • Backup / Restore
  • Misc
  • Hard Drives
OS
  • Miscellaneous
  • Security
  • Development
  • Linux
  • VMWare
  • MainFrame OS
  • Unix
  • Apple
  • OS / 2
  • AS / 400
  • BeOS
  • Microsoft
  • VMS / OpenVMS
Database
  • Oracle
  • Miscellaneous
  • MySQL
  • Software
  • Sybase
  • Contact Management
  • PostgreSQL
  • Data Manipulation
  • Clarion
  • InterSystems Cache
  • Siebel
  • MUMPS
  • OLAP
  • SQLBase
  • SAS
  • GIS & GPS
  • 4GL
  • Berkeley DB
  • DB2
  • Informix
  • Interbase / Firebird
  • FoxPro
  • Reporting
  • LDAP
  • Filemaker Pro
  • MS SQL Server
  • dBase
  • MS Access
Security
  • Misc
  • Web Browsers
  • Software Firewalls
  • Operating Systems Security
  • File Sharing
  • Spy / Ad Blockers
  • Vulnerabilities
  • WebApplications
  • IDS
  • Anti-Virus
  • Encryption
  • Anti Spam
  • Email Clients
  • VPN
  • Chat / IM
Programming
  • Editors IDEs
  • Installation
  • Handhelds / PDAs
  • Multimedia Programming
  • System / Kernel
  • Algorithms
  • Game
  • Signal Processing
  • Project Management
  • Open Source
  • Database
  • Misc
  • Languages
  • Processor Platforms
  • Theory
Web Development
  • Scripting
  • Blogs
  • Web Servers
  • Software
  • Search Engines
  • Web Graphics
  • Images
  • Internet Marketing
  • Images and Photos
  • Components
  • Document Imaging
  • Web Languages/Standards
  • Illustration
  • WebApplications
  • Fonts
  • WebTrends / Stats
  • Authoring
  • Digital Camera Software
  • Miscellaneous
Networking
  • Protocols
  • Apple Networking
  • Network Management
  • Message Queue
  • Application Servers
  • Content Management
  • File Servers
  • Email Servers
  • Misc
  • Java Editors & IDEs
  • Wireless
  • Networking Hardware
  • Backup / Restore
  • System Utilities
  • ISPs & Hosting
  • Web Servers
  • Storage Technology
  • Removable Backup Media
  • Servers
  • Broadband
  • Grid
  • OS / 2
  • Novell Netware
  • Unix Networking
  • Windows Networking
  • Security
  • Telecommunications
  • Operating Systems
  • Linux Networking
Other
  • Community Advisor
  • Lounge
  • Community Support
  • New Net Users
  • Philosophy / Religion
  • Math / Science
  • Miscellaneous
  • URLs
  • Expert Lounge
  • Politics
  • Puzzles / Riddles
Community Support
  • Suggestions
  • New to EE
  • New Topics
  • Community Advisor
  • CleanUp
  • Announcements
  • General
  • Feedback
  • Input
  • EE Bugs
 
02.13.2008 at 09:15AM PST, ID: 20886018
I forgot to mention that I want the service to run under Windows XP Pro Service Pack 2. Thanks.
 
02.13.2008 at 01:49PM PST, ID: 20888628
Hello

Drag a timer or a Backgroundworker to the ServiceNameWinService.cpp [Design] Window.

In the Header ServiceNameWinService.hpp, you can enable the timer in the OnStart() method,
 or disabel the timer in the OnStop() method.

Double click the timer to get a Tick handler and add an action e.g.
System::Media::SystemSounds::Beep->Play();

A windows service must be installed first from the command line. Look in the ServiceNameWinService.cpp for a comment with the install/uninstall syntax. A window will confirm the successful installation.

After installing, the service is listed in the Services dialog from the control panel.
Here you can start and stop your service.

You do not have to uninstall and reinstall the service to run a new version.
Once the service is installed, you can replace the .exe with a new version, if the service is stopped.


 
02.14.2008 at 05:59AM PST, ID: 20893245
Hello. Thanks for the reply. I dont know why we need a timer? What do you mean about a tick handler? Is this compulsary in building a window service? Thanks
 
02.14.2008 at 06:08AM PST, ID: 20893318
The comment that i found in the cpp file is "To install/uninstall the service, type: "services.exe -Install [-u]" Where must I type this command? I try to add in in the code and it is of course a syntax error. Silly me. Hope that you guys can help me.
 
02.14.2008 at 07:25AM PST, ID: 20894028
Hello

To do a job in a service, you must have an event that is triggered from time to time, like a timer tick event. With the example you can make a first simple service that beeps every second when installed and started.

To install the service, you must open a command window (Start-Run then type cmd and press OK). change to the folder of the .exe of your service and type the command as shown in the comment in the .cpp file.

An other solution is to use the backgroundworker control and start it with backgroundworker.RunWorkerAsync() in the OnStart() method. In the DoWork() EventHandler you will have a while(...) loop that only ends if the service should be stopped.
To stop the backgroundworker, use backgroundworker.CancelAsync() in the OnStop() method and check the backgroundworker.CancellationPending flag in the while loop of the DoWork() method.

You can also create a thread and start it  in the OnStart() method.

Accepted Solution
 
02.16.2008 at 01:54PM PST, ID: 20911526
Hello Again.

Thanks for the explanation. Now i understand the concept. Really easy to understand. However, I have difficulties on installing the services. I didnt put any timer to the project instead i just created a hello world service. Then i installed the service using the command given from the *.cpp file. The installed works but after installed, i could not see the service displayed at the services window under Administration tools. I also found a command to register the service to the server by typing InstallUtil.exe -RegServ but still the service could not be displayed. The question is, is it possible if i just create a service which will execute and display a hello world service under the Administration tool without a tick handler using the timer? Its just that i want to try it at the basic level. Thanks again.
 
 
20080236-EE-VQP-29 / EE_QW_2_20070628