Notes
Outline
Senior Capstone Experience
Zac M. Leider
St. Norbert College
CS460
April 29th, 2003
PC Remote Control
Project Description and Requirements
The system must recognize several popular brand name remote controls.
The system must be able to control an application on a PC remotely.
The system should be able to control an event such as mouse or keyboard in an application.
Investigate using the remote to control OS command (gui and shell).
Solutions
Started with C++ Microsoft Foundation Classes
Scrapped first program and went to the “Dark Side” as Dr. Pankratz called it
Easy use of VB and OnComm method
TreeView control
Simple data structures
structs and arrays
Data structures
Methodology
Modular Design
Bottom-up design
Multitasking
Focus Small
Keep “working” version handy
Proper VB attire
General Flow of Program
Two Methods of Communication with Applications
More robust
Simulates actions the same way the actual program does
Hard to find applications API constants
Gets the job done but with issues
Need window active - use SetForegroundWindow API call
Problems with minimized windows
What Your System Needs
WinAmp 2.76
InterVideo WinDVD 4.9
Microsoft Speech SDK 5.1
Microsoft Office 2000 – Word & PowerPoint
AOL Instant Messenger
Internet Explorer
Accessories – Calculator & Paint
Saving Programmed Remotes
Program searches for designated files in beginning to load (Remote1-5.txt)
Stores current remotes out to text files upon exiting the program
Can type your own if you know what you are doing
Exceptions
Other Possible Extensions
Implement more applications with pre-programmed commands.
Adding and storing of remotes while running.
Create a program to recognize remotes.
Implement functions to cycle through windows, minimize/maximize and close them.
Recursive function to get handle to all windows
GetDesktopWindow, GetWindow for child and siblings
Demonstration …
Any Questions?
Learning and Development Process
Strategies
Methodology – Modular design, multitasking, focus small, “working” version, VB attire
Make use of the CS faculty, if they have time, they are all more then willing to help.
Used meeting with Dr. Pankratz as a way to stay on track.
I found the Internet quite useful with my project.
Knowledge
General programming knowledge
CS skills from past 4 years
Debugging
Problem solving
Modular design
Event Programming
Years of TV remote usage
Advice For Class of 2004
Attack project with interest and enthusiasm.
Debug, debug and … debug some more.
Do a better job than I have at updating your web page and your journal.
Allow time for the unexpected.
Do a good job with documentation and explanation for future use.
Know when to say when.
Special Thanks
Professor Blahnik, Dr. McVey and Dr. Pankratz
My parents
My girlfriend Nadia
The IRMAN
Thanks for coming!!!