Pocket Control PC - NetCf v1.0 ReadMe
3.Usage
1.Index 2.Installation & Connection 3.Usage 4.For Developpers
3.0) General Process, 3.1) Modes , 3.2) Options & Log , 3.3) Macros

3.0) General ProcessTop
The program Pocket Control PC - NetCf is a 'client' program. It connects to a 'host' program that 'listens' for a connection and sends its command through a communication protocol like TCP/IP that this uses. So, this program begins by connecting to the host. After the connection has established, commands can be exchanged between the programs and executed. So, to begin: Establish an Activesync connection (read 2.1 for more info) and then put Pocket Control PC - PC on a 'listening' state. Then, run Pocket Control PC - NetCf and click Connect. Wait for a 'Connected' message. When that happens, you're ready to make your commands. You can always Disconnect by clicking Menu > Disconnect.

3.1) ModesTop
Through the modes, you can send commands to the remote PC. Click a mode, and a seperate form will show up for each mode.

None/Log: This is the first form showed up in the program upon running it. It consists of a textbox containing the log explained in paragraph 3.2.

Mouse: Through this mode, you can control the remotes PC's mouse. The form consists of two parts. The upper part depicts mouse and scroll clicks as well as moves. The bottom part shows up useful information about this mode: 'Mouse Step' is the step the cursor moves when you command it. 'Scroll Move Step' is the step the scroll moves when you command it. 'Screen Size' is the remote screen's size. 'Mouse Location' is the location of the remote mouse. To pass commands, press the following keys:
Navigation moves:With the navigation keys, you can move the remote mouse according to the Mouse Step.
Navigation Press:By pressing down the navigation button, you can trigger a left mouse button click.
1:Enable/Disable Quick Mouse Mode.
2:Trigger a middle mouse button click.
3:Trigger a right mouse button click.
4:Decrease Mouse Step by 1.
5:Increase Mouse Step by 1.
6:Trigger a Mouse Scroll Up according to Scroll Step.
7:Decrease Scroll Step by 1.
When Quick Mouse mode enabled: Decreases timer interval.
8:Increase Scroll Step by 1.
When Quick Mouse mode enabled: Increases timer interval.
9:Trigger a Mouse Scroll Down according to Scroll Step.
*:Trigger a Mouse X1 button click (X keys are custom mouse buttons that mouses usually have on one of their sides).
0:Trigger a Mouse X2 button click (X keys are custom mouse buttons that mouses usually have on one of their sides).
#:Request Remote Mouse's location. (slow)

Quick Mouse mode: When enabled (key 1), if you press a navigation key, the remote mouse will begin to move (according to the mouse step) according to the timer interval which can be changed through keys 7 and 8. To make the remote mouse stop, press a navigation key contrary to its movement (pressing right after having pressed left will stop the mouse) or trigger a mouse button click. Disabling quick mouse mode doesn't necessarily stop the remote mouse.

Keyboard: In this mode, you can simulate keyboard key clicks and combinations. All the form will be occupied by a keyboard simulation. With the navigation keys, you can navigate through the keyboard keys. By clicking one, you trigger its click on the remote PC. But normal click does not apply to the following keys: Shifts, Alts, Controls, Windows Key. Clicking one of them holds it down. By clicking one of them again releases it. So, to type 'apHfh' on the remote PC, click the following keys in the following order: a, p, left shift, h, left shift, f, h. If you play a little with the keys, you'll understand easily how they work.
For clickable devices (PCs, Pocket PCs): You can click the keyboard image with your mouse or stylus to trigger a key click.
Note: By clicking 1, 2...*, 0 you can go to specific keys without having to navigate to them (a click is not trigerred). These help for quick clicking. Also, if you need to unpress all pressed keys automatically, click #.

Other Actions > Input Keys/Text: An alternative way for triggering key clicks is to input directly text to the remote PC. An input dialog box will pop up requesting the input text. So, to type 'apHfh' on the remote PC, type apHfh in the textbox and click Done. But, to simulate other keys like Print Screen and such, you need to type predefined text. To get more info, click Menu > Help. A help dialog will pop up explaining all.
Other Actions > Input Mouse Position: An alternative way for moving the mouse is to input its coordinates. An input dialog box will pop up requesting the coordinates.
Other Actions > Send Message: Click Test to send two test messages to the remote log. Click Custom... to define a custom message to send to the remote PC. If the message can be interpreted as a command by the remote PC, it will be executed.

3.2) Options & LogTop
Log: The log is the textbox that occupies a large part of the program's main form. It shows up useful info about what is received, sent or done in the program. It consists of several lines. Each line has a timestamp (minute.second) followed by a description of the event which took place then. To clear the log, click Menu > Options > Log > Clear. To save the log to a text file, click Menu > Options > Log > Save. Logs are usually used for finding errors or keeping track of events.

Options > Validate Connection: When checked, the client, upon connecting, waits for a 'Validate' message from the host. If it does not receive it, it refuses to execute/send further commands.
Options > Ensure Active Connection: This will be enabled only when connected. If checked, the client and host send validation commands to each other. If they do not receive any response, they disconnect automatically. This can be slow for smartphones, so you can disable it. But it's very useful because if the device is accidentally removed, the programs will automatically disconnect.
Also, be sure that this option is the same for the remote PC. When connected, if this option is changed, it also changes on the remote PC. If the connection is interrupted without a reason, connect again and quickly change this option to synchronize the remote PC's option so that they are the same.
Options > Configure IP: With this, you can configure the IP address and the port to connect to. GPRS is not directly supported yet.
Options > Save Options: With this, you can save all of the program's options to the registry. Options are auto-loaded on start and are auto-saved on exit.

3.3) MacrosTop
Macros are small text files used by programs to automate processes. Pocket Control PC - NetCf uses macros to send and execute commands. This mean you can record your own macros (record the commands you send to the remote PC) and save it to a text file for future execution. For example, if you record mouse moves to a macro, if you execute the macro, the same mouse moves will be made. Macros also have timestamps for real-time execution (time is also recorded along with the commands).
In general, a macro text file looks like this:

Pocket Control PC - NetCf Macro ##%%## 3/10/2004 5:05:16 pm ##%%## 1.0.0
OUT:3.17:05:16;KeyPress:13,2.
OUT:3.17:05:18;MouseLeftButtonUp
OUT:3.17:05:19;MouseRightMove:30.
IN_:18.21:21:36;KeyPress:27,2.
IN_:18.21:21:37;KeyPress:81,0.
IN_:18.21:21:37;KeyPress:81,2.

The first line gives information about the macro and after that, there is a series of recorded commands. "OUT" commands are the one sent by the program to the remote PC. "IN_" commands are the ones received and executed by the program (if the program doesn't recognise the command, it doesn't execute it). When the macro executes the macro, OUT commands are sent to the remote PC (if there is a connection) and IN_ commands are executed by the program as if received by the remote PC.
The following menus exist for manipulating macros:

Execute file...: A file browser appears. You must select the macro text file to execute. Click done to start executing the macro according to the macro options.
Note: If the macro is executed with timers (one of the macro options), the macro will start being executed. All menus will be disabled. If you wish to stop the execution, Click Stop Macro to interrupt the macro.

Shorcuts: Has a list of managed shorcuts to macro files on the device. Click a shorcut to start executing its macro. 'Undefined' shorcuts cannot be executed because they do not exist.

Shorcuts > Manage Shorcuts...: Used to manage the macro shorcuts. When clicked, an input dialog appears requesting the position of the shorcut to edit. Allowed values are showed. Enter a number and click Done.
Then, a message box appears. If you wish to edit the shorcut, click Yes. If you wish to delete the shorcut, click No. If you do not want to edit the macro at all, click Yes and when the file browser appears click Cancel.
If you click Yes, a file browser will appear. Select the macro file and click Done.

Start Recording: When clicked, the program enters a record state. That is: when a command is received or sent, it's recorded to memory along with its timestamp. When you finish recording, click Stop - Save.

Stop Rec - Save: Enabled when program has entered record state. When clicked, the program exits record state and a save file dialog appears. Choose the destination .txt file where the macro will be stored.

Options > Execute Incoming Commands: When checked, "IN_" commands are executed.
Options > Execute Outgoing Commands: When checked, "OUT" commands are sent to the remote PC.
Options > Timeless execution: When checked, the macro commands are executed one by one immediately. If not checked, the macro is executed with timers according to the macro command timestamps recorded.
Options > Decimate timers by...: When timeless execution is not checked, this options can be used to divide timers intervals by a number. This means, you can shorten (by providing a number greater than 1) or prolong (by provifing a number lesser than 1) the time recorded in the macro command timestamps.
Options > Invert Incoming & Outgoing...: When checked, "IN_" commands are treated as "OUT" commands and vice-versa.
Note: Execute Incoming/Outgoing Commands options supercede this options. This means, for example, that a macro command of type "IN_" will not be treated as an "OUT" command if Execute Incoming Commands is not checked (but if checked, it will be treated as an "OUT" command regardless of the checked state of Execute Outgoing Commands option). This options is usually used if you execute a macro that was recorded by the NetCf program by the PC program.