Welcome to the PowerWebTools
SDK Documents Page


Here we will discuss all the inner workings of our new interface design. We already have dozens and dozens of built in commands that you have at your disposal and we will do everything we can to help you build your software, as well as help promote and sale it.

First of all, let us give you a very brief description of what this software does and how it works. PowerWebTools is basically a customized web browser, so all the functions that you have come to expect in IE are available here as that is the basic building block we used. The interface is written in Visual C++. ALL the functions we have built into the software can be accessed through Javascript. This gives you functions never before available in a browser type application. Even if you are not a wizard programmer, as long as you can understand javascript, you will be able to add any of our functions to your software.

Our plan was to design an interface, that could be used as a template to create new tools. By building all the functions into one design, we can simply change the browser from one page to another, to create an entirely new set of tools. If you have not downloaded our Demo yet, please do so, so you can get a feel for the program. Included is the first of many Volumes we plan on releasing.

We hope that developers will create their own Volumes. Please contact us at Support@PowerWebTools.biz to discuss this in more detail. We can also help you in the sales and promotions department.

Also in the works in a stand alone interface that we will release to developers as well. This is designed to be used as one app only instead of a collection of javascript routines. We will keep you posted on that.

Included in the demo is a blank template that can be used to design your own set of tools. We have created a nice layout that we want to follow, so just fill in the blanks per say so we all stay standardized.

Note: this is calling html files in a browser, so files can be located on your hard drive, or called from the web. It all depends on what the application is, as to which way you should use it.


As we said before, all our functions can be called directly from javascript in the same way tools like the Clipboard are called now. This is using the "window.external" function. For example, since this is a custom browser, our commands can not be called from another browser, but since it is a browser window, it loads up html pages just like any other browser, so the first thing you should check for, is to make sure they have opened your html page in our custom browser. To do this you would call this function from javascript:

window.external.PWT_IsOurCustomBrowser();

If the return is null it means that they are trying to access the file from another browser, so you could use this at the beginning to be sure


if (window.external.PWT_IsOurCustomBrowser==null)
{
    alert('This page can ONLY be accessed through PowerWebTools.');
    window.location = "http://www.powerwebtools.biz";
}



This would let them know, then redirect them to your home page. Also windows opened by our browser will also use our skin routines so the "alert" function will look like it is built in as well.

We will now go through our list of commands and give brief descriptions of each. Please be sure to visit our forum at http://www.PowerWebTools.biz/forum for more developer info



COMMANDS


Remember, ALL our commands are called the same way:
window.external.PWT_COMMAND()

Some return results, some do not, each is explained below.


PWT_IsOurCustomBrowser()
description: checks to see if this is being called from our custom browser
example: if(window.external.PWT_IsOurCustomBrowser==null) alert("Not Our Browser!")
return: TRUE or null if not

PWT_Close()
description: closes the browser down
example: window.external.PWT_Close();
return: none

PWT_OpenBrowser()
description: opens a new custom browser window with url,x offset, y offset, width, height
example: window.external.PWT_OpenBrowser("www.powerwebtools.biz",0,0,600,400);
return: none

PWT_Back()
description: this is just like hitting the "Back" button in a browser, it goes back to the last page
example: window.external.PWT_Back();
return: none

PWT_Forward()
description: this is just like hitting the "Forward" button in a browser, it goes forward to the next page
example: window.external.PWT_Forward();
return: none

PWT_Stop()
description: this is just like hitting the "Stop" button in a browser, it stops loading the current page
example: window.external.PWT_Stop();
return: none

PWT_Refresh()
description: this is just like hitting the "Refresh" button in a browser, it reloads or refreshes the current page
example: window.external.PWT_Refresh();
return: none

PWT_MenuSet()
description: this tells which menu to use when the "Right" mouse button is clicked. By default PWT uses its own custom menu. If you pass a 0 the default is used, if a 1 is passed it uses the standard Internet Explorer menu
example: window.external.PWT_MenuSet(1);
return: none

PWT_ViewPage()
description: opens a url in your default browser
example: window.external.PWT_ViewPage("http://www.powerwebtools.biz");
return: none

PWT_TextEditor()
description: opens a txt file into our custom text editor
example: window.external.PWT_TextEditor("C:Sample.txt");
return: none

PWT_NotePad()
description: opens a txt file into Notepad
example: window.external.PWT_NotePad("C:Sample.txt");
return: none

PWT_GetLoadName()
description: opens a file requester asking for a file to load. You first pass it the "Title" you want in the window, then the "Path" you want it to open in, if you leave it as "", it uses Windows last settings, then you pass it a number to tell WHAT TYPE of files to display as default, the numbers are the same for load & save
They are:
0 - "."
1 - ".txt"
2 - ".html,.htm"
3 - ".pdf"
4 - ".rtf"
5 - ".jpg,.gif,.tga,.bmp"
6 - ".pmf" (This is a PowerWebTool Macro File)
7 - "." (Lets you select Multiple Files with Shift or ALT keys)
8 - ".php"
9 - ".asp"
10 - ".cgi"
11 - ".jsp"
12 - ".js"
example: var Name = window.external.PWT_GetLoadName("Select Page To Edit","",2);
return: returns the name of the file or "" if cancel is selected

PWT_GetSaveName()
description: same as GetLoadName but uses the "Save" requester and will confirm if you want to overwrite an existing file
example: var SaveName = window.external.PWT_GetSaveName("Select SaveName",LoadName,2);
note: by passing LoadName as the path, it strips the name and uses the directory only.
return: returns the name of the file or "" if cancel is selected

PWT_GetVersion()
description: returns the current version of PowerWebTools
example: var result = window.external.PWT_GetVersion();
return: PowerWebTools current version number

PWT_GetMainPath()
description: returns the path of PowerWebTools
example: var result = window.external.PWT_GetMainPath();
return: PowerWebTools path

PWT_GetWindowsPath()
description: returns the path of Windows folder
example: var result = window.external.PWT_GetWindowsPath();
return: Windows path example C:\WINNT

PWT_GetPath()
description: returns the path of a file passed to it
example: var result = window.external.PWT_GetPath(LoadName);
return: path of LoadName is returned

PWT_GetFolder()
description: Lets you select a path with the folder requester
example: var PathName = window.external.PWT_GetFolder();
return: gets a folder name from folder requester or is null if cancelled

PWT_Wait()
description: Lets you put a Delay in your routine for selected number of seconds. It will wait till the elapsed time has passed before going on.
example: window.external.PWT_Wait(5);
return: none

PWT_CopyFile()
description: copies a file from source to destination
example: window.external.PWT_CopyFile(SrcFile,ToFile);
return: none

PWT_ClipBoardToFile()
description: copies the information in the ClipBoard and saves it as a file
example: window.external.PWT_ClipBoardToFile("C:test.txt");
return: none

PWT_ClipBoardFromFile()
description: reads a file and saves it into the ClipBoard
example: window.external.PWT_ClipBoardFromFile("C:test.txt");
return: none

PWT_StringToClipBoard()
description: Takes a string buffer and saves it into the ClipBoard. This was added as we were finding intermittent problems with the javascript function clipboardData.setData(). It would work most of the time, but every once in a while it would copy a blank buffer.
example: window.external.PWT_StringToClipBoard("Copy this to clipboard");
return: none

PWT_StringToFile()
description: copies the information in a stringand saves it as a file
example: window.external.PWT_StringToFile("Save This Information","C:test.txt");
return: none

PWT_StringFromFile()
description: reads a file and saves it into a string
example: var MyString = window.external.PWT_StringFromFile("C:test.txt");
return: the contents of the file

PWT_StringReplace()
description: reads a string and replaces an old substring with a new substring
example: var NewString = window.external.PWT_StringReplace("This is string","is","is a");
return: the new string

PWT_Parse()
description: reads a string and returns a substring that appears between a start and end string
example:
var MyString = window.external.PWT_Parse("<title>This is a Title</title>","<title>","</title>");
return: the substring that appears between a start and end string, in this case "This is a Title"

PWT_WindowToBack()
description: Moves PWT Window Behind all other Windows
example: window.external.PWT_WindowToBack();
return: none

PWT_WindowToFront()
description: Moves PWT Window in Front of all other Windows
example: window.external.PWT_WindowToBack();
return: none

PWT_MoveWindow()
description: Moves PWT Window to certain x,y coordinates. The window always stays the same size, but this allows you to move it around the screen. Very useful if using the Record Macro function
example: window.external.PWT_WindowToBack(0,0);
return: none

PWT_Ask()
description: lets you ask a yes/no question. Passes Title text, YES button text and NO button text
example: var test = window.external.PWT_Ask("Do you wish to continue?"," Yes "," No Thanks ");
return: TRUE or FALSE

PWT_AskString()
description: lets you ask a question that returns a string. Passes Title text and default text
example: var BoxWidth = window.external.PWT_AskString("Enter Width Of PopUp?","320");
return: returns string or "" if cancel is selected

PWT_AskChoice()
description: lets you ask a question with up to 6 options. First passes Title, then text for 6 buttons. You MUST pass 6 buttons, if you only want 3, then pass "" for the others
example: var CloseOption = window.external.PWT_AskChoice("Select Window Closing Option?"," Anywhere "," Add Title Bar "," Add Link ","","","");
return: number 1 - 6

PWT_EmbedScript()
description: VERY powerful option here. The buffer is embedded into a file, first is buffer name, next is tag to search for, next B for Before tag or A for After so for example you would use "B" when you want script before the closing </body> tag or "A" to embed after the <head> for meta tags, etc.
example: window.external.PWT_EmbedScript(ScriptInfo,"</BODY>","B");
return: none

PWT_EmbedScript2()
description: Same as EmbedScript() but passes the filename and does not open a file requester or alert that it is done.
example: window.external.PWT_EmbedScript2(ScriptInfo,"</BODY>","B",SaveName);
return: none

PWT_WebToEditor()
description: transfers files via http. Loads them into the TextEditor after downloading. Will transfer any kind of files but saves it as Temp.html
example: window.external.PWT_WebToEditor("http://www.powerwebtools.biz/index.html");
return: none

PWT_WebToFile()
description: transfers files via http. Will transfer any kind of files and saves as SaveName
example:
window.external.PWT_WebToFile("http://www.powerwebtools.biz/images/header.jpg",SaveName);
return: none

PWT_MakeZip()
description: calls the built in MakeZip routine. Will let you add as many files as you want (all same directory) and create a compressed zip file
example: window.external.PWT_MakeZip();
return: none

PWT_UnZip()
description: calls the built in UnZip routine. Will extract files from a compressed zip file
example: window.external.PWT_UnZip();
return: none

PWT_ViewZip()
description: calls the built in ViewZip routine. Will list all the files inside a compressed zip file
example: window.external.PWT_ViewZip();
return: none

PWT_ConvertPDF()
description: Extracts text from LoadName pdf and saves as txt SaveName
example: window.external.PWT_ConvertPDF(LoadName,SaveName);
return: none

PWT_RunExtraTool()
description: runs files located in the Extras directory, to start, just the TextEditor.exe, HtmlEditor.exe and MJE.exe are there, but in time, more will be added
example: window.external.PWT_RunExtraTool("MJE.exe");
return: none

PWT_RunAnyTool()
description: Just what the name says, this lets you run ANY tool. Also if the FileName passed, is for example, an image file, it will load it in your default image display program, or a txt file in your default text editor. What ever the file extension is associated with
example: window.external.PWT_RunAnyTool("explorer.exe");
example: window.external.PWT_RunAnyTool("readme.txt");
return: none

PWT_RunTool("HtmlToTxt")
description: take an html page and strips out the html code leaving a plain txt file. Asks for filenames automatically and then loads into text editor at end
example: window.external.PWT_RunTool("HtmlToTxt");
return: none

PWT_RunTool("TxtToHtml")
description: takes a plain txt file and adds html code to it. Asks for filenames automatically and then loads it into a web browser
example: window.external.PWT_RunTool("TxtToHtml");
return: none

PWT_RunTool("HtmlToHtml")
description: takes an html page and creates a new html page that displays all the code. Great for those wanting to show example code on their site. Asks for filenames automatically and then loads into a web browser
example: window.external.PWT_RunTool("HtmlToHtml");
return: none

PWT_RunTool("RtfToTxt")
description: takes a rich text document and strips out the codes leaving a plain txt file. Asks for filenames automatically and then loads into text editor at end
example: window.external.PWT_RunTool("RtfToTxt");
return: none

PWT_RunTool("GetColor")
description: returns a Color in Hex code format. Asks for filenames automatically and then loads into text editor at end
example: var result = window.external.PWT_RunTool("GetColor");
return: Color info like "#FFFFFF" or "" if cancel is selected

PWT_RunTool("GetFont")
description: returns a font style setting. Select font name, style, color, and size then returns for use in font or div
example: var result = window.external.PWT_RunTool("GetFont");
return: Style info like style=" font-family: Impact; color: #800080; font-size: 20pt; text-decoration: none; font-weight: bold; font-style: normal;" or "" if cancel is selected

PWT_RunTool("ThumbNails")
description: creates thumbnail images of any image files in a folder. Asks for path then size of thumb, then does the entire directory
example: window.external.PWT_RunTool("ThumbNails");
return: none

PWT_RunTool("EditBox")
description: opens an edit box and returns the text that was typed in
example: var result = window.external.PWT_RunTool("EditBox");
return: string in box or "" if cancel is selected

PWT_Edit()
description: same as EditBox in RunTool but allows you to pass a predefined string to it
example: var result = window.external.PWT_Edit("You Can Start With This String");
return: string in box or "" if cancel is selected

PWT_SetAttributes()
description: lets you set the file attributes to a file on your hard drive. You pass it a filename and up to 3 options to apply. "A" stands for archive, "H" stands for hidden and "R" stands for ReadOnly.
example: var result = window.external.PWT_SetAttributes("c:\mytextfile.txt","AH");
return: none


PWT_MediaPlayer();
description: plays SaveName in the mediaplayer. Will play avi, mpg, mov, mp3, wav, etc
example: window.external.PWT_MediaPlayer(SaveName);
return: none

PWT_ CaptureWindow()
description: allows you to capture a window and loads its image into the ImageEditor
example: window.external.PWT_CaptureWindow();
return: none

PWT_HtmlToImg()
description: captures the contents of a browser window named "HtmlToImg" and saves it as an image. You pass the height and width. Look at Volume #2 for example.
example: window.external.PWT_HtmlToImg(MyWidth,MyHeight);
return: none

PWT_ImageEditor()
description: brings up the built in image editor. Many functions available in interface. If no file name is passed, it will open a file requester to ask for one
example: window.external.PWT_ImageEditor("c:Image.jpg");
return: none

PWT_LoadImage()
description: loads "LoadName" into the image buffer. Does not display, just holds it for later use
example: window.external.PWT_LoadImage(LoadName);
return: none

PWT_GetImageWidth()
description: gets the width of an image file on your hard drive.
example: MyWidth = window.external.PWT_GetImageWidth("c:Image.jpg");
return: Width of the image

PWT_GetImageHeight()
description: gets the height of an image file on your hard drive.
example: MyHeight = window.external.PWT_GetImageHeight("c:Image.jpg");
return: Height of the image

PWT_ImageToClip()
description: saves image buffer to the ClipBoard
example: window.external.PWT_ImageToClip();
return: none

PWT_ResizeImage()
description: resizes image buffer after LoadImage is used
example: window.external.PWT_ResizeImage(140,230);
return: none

PWT_SetJpgQuality()
description: if you are going to SaveImage as a jpg, lets you set the jpg quality setting first
example: window.external.PWT_SetJpgQuality(85);
return: none

PWT_SaveImage()
description: saves image buffer as "SaveName"
example: window.external.PWT_SaveImage(SaveName);
return: none

PWT_ProcessImage()
description: lets you process the image buffer. Same options in the Editor but with no interface
example: window.external.PWT_ProcessImage(5);
return: none

Here are the available options for ProcessImage()
1 = Negative
2 = Flip
3 = Mirror
4 = GrayScale
5 = Emboss
6 = Light
7 = Darken
8 = Contrast
9 = Edge
10 = Blur
11 = Sharpen
12 = Antique
13 = Smooth
14 = Swap Colors RGB -> RBG
15 = Swap Colors RGB -> BGR
16 = Swap Colors RGB -> BRG
17 = Swap Colors RGB -> GRB
18 = Swap Colors RGB -> GBR


PWT_PIP()
description: used as a PictureInPicture option, will load FileName at x,y offset and scale to width, height and place inside FrameName file then open in window
example: window.external.PWT_PIP(FrameName,FileName,50,50,width,height);
return: none

PWT_KillDupes()
description: Will take a list in a string buffer and remove all duplicate lines. Can be from a file or clipboard. Just copy that to a buffer first then pass the buffer. It will return the number of duplicates that were removed and copy the new buffer to the ClipBoard. See Vol#2 for example
example: window.external.PWT_KillDupes("1\r\n2\r\n1\r\n3\r\n");
return: the number of lines removed

PWT_SortList()
description: Will take a list in a string buffer and sort all lines alphabetically. Can be from a file or clipboard. Just copy that to a buffer first then pass the buffer. It will copy the new list to the ClipBoard. See Vol#2 for example
example: window.external.PWT_SortList("A\r\nC\r\nB\r\n");
return: noned

PWT_RecordMacro()
description: Uses the built in macro record function. This saves any mouse move, mouse click, or key press into a file that can later be played back. You MUST hit the Pause/Break key to STOP recording. Files must end with .mpf
example: window.external.PWT_RecordMacro(FileName);
return: none

PWT_PlayMacro()
description: Uses the built in macro play function. This plays back a previously recorded PWT macro. The second argument tells it how many times to play or repeat the macro. You can hit both <CTRL> & <ESC> keys to abort playback
example: window.external.PWT_PlayMacro(FileName,1);
return: none

PWT_UploadFTP()
description: This will upload a file to your server using FTP. You pass it the servername, username, password, file location on hard drive, file location on server and 0 for Ascii or 1 for Binary transfer
example: window.external.PWT_UploadFTP( "powerwebtools.biz", "username", "password", "c:\\myimage.jpg", "www/images/myimage.jpg",1);
return: none

PWT_UploadFTPCGI()
description: This is the same as UploadFTP but it also sets the file permissions needed for cgi scripts to 755. Perfect for cgi or perl scripts
example: window.external.PWT_UploadFTPCGI( "powerwebtools.biz", "username", "password", "c:\\users.cgi", "www/cgi-bin/users.cgi",0);
return: none

PWT_SaveCGISettings()
description: Saves the user settings for ALL scripts that call the UploadFTP routines. This way you do not have to enter them each time. The info it saves is servername,username,password, cgi-bin path, and images path. It will save the info in a file called settings.js in the CGI folder in PWT
example: window.external.PWT_SaveCGISettings( "powerwebtools.biz", "username", "password", "www/cgi-bin", "www/images");
return: none

PWT_OpenProgress()
description: This will open a Progress window to show the progression of some loop routine. For example if converting images, it will show as each one is processed. uses 3 functions, Open, Advance to next and Close. You pass it the title, the start and end numbers
example: window.external.PWT_OpenProgress("Converting Image files from JPG to GIF",0,10);
return: none

PWT_AdvanceProgress()
description: This will update the Progress window to the next position. Also if the Cancel button is pressed, returns a 0. If a string is passed it will display it in window, if "" is passed it just leaves what was there when opened
example: var cancelled = window.external.PWT_AdvanceProgress("Updated Message");
return: 0 if cancel is hit or 1 if successful

PWT_CloseProgress()
description: This will close the Progress window
example: window.external.PWT_CloseProgress();
return: none

PWT_SLG()
description: This will create a sequential list based on a pattern passed to it. You also pass the total amount to create and the number to start with. In the pattern, any where that a # is found, a sequential number will replace it. It you pass 2 ## it pads it with 0's like 01,02, 03 and 3 ### will return 001,002,003 etc.
example: window.external.PWT_SLG("http://www.powerwebtools.biz/Page###.html,3,1);
return: Sequential List split by carriage return. Example would be:
http://www.powerwebtools.biz/Page001.html
http://www.powerwebtools.biz/Page002.html
http://www.powerwebtools.biz/Page003.html

PWT_ReplaceWithNumber()
description: This is similar to SLG but does not create a list, it just passes the string back after it has replaced all # characters with the number you pass it. Can be a single line or an entire web page, which is goes through and replaces ALL # characters. The 2nd argument lets you change what character to replace, so if you want %%% replaced with numbers just enter "%" instead
example: window.external.PWT_ReplacePound("This is Page###","#",1);
return: the string that was sent with # characters turned to numbers. Example would be:
This is Page001

PWT_KeyPress()
description: lets you pass ANY keyboard command just like you pressed the keys yourself. You can do some Amazing things with this. As simple as highlighting text and coping to Clipboard, to being able to run other programs. This uses the SendKeys command but was updated based on an article by lallous on CodeProject.com, Thanks to him for this wonderful function
example: window.external.PWT_KeyPress("^a^c");
example: window.external.PWT_KeyPress("{DELAY=150}@rnotepad~hello we{BS}orld!%ha");
return: none

Below are the various Key options and the Code for each
Key Code
BACKSPACE {BACKSPACE}, {BS}, or {BKSP}
BREAK {BREAK}
CAPS LOCK {CAPSLOCK}
DEL or DELETE {DELETE} or {DEL}
DOWN ARROW {DOWN}
END {END}
ENTER {ENTER} or ~
ESC {ESC}
HELP {HELP}
HOME {HOME}
INS or INSERT {INS}
LEFT ARROW {LEFT}
NUM LOCK {NUMLOCK}
PAGE DOWN {PGDN}
PAGE UP {PGUP}
PRINT SCREEN {PRTSC}
RIGHT ARROW {RIGHT}
SCROLL LOCK {SCROLL}
TAB {TAB}
UP ARROW {UP}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}
Keypad add {ADD}
Keypad subtract {SUBTRACT}
Keypad multiply {MULTIPLY}
Keypad divide {DIVIDE}
+ {PLUS}
@ {AT}
APPS {APPS}
^ {CARET}
~ {TILDE}
{ } {LEFTBRACE} {RIGHTBRACE}
( ) {LEFTPAREN} {RIGHTPAREN}
Left/Right WINKEY {LWIN} {RWIN}
WINKEY {WIN} equivalent to {LWIN}
WINKEY @
SHIFT +
CTRL ^
ALT %


Here are some special keys that act like commands
Command Syntax Action
{VKEY X} Sends the VKEY of value X.
For example, {VKEY 13} is equivalent to VK_RETURN
{BEEP X Y}} Beeps with a frequency of X and a duration of Y milliseconds.
{DELAY X} Delays sending the next key of X milliseconds. After the delaying the following key, the subsequent keys will not be further delayed unless there is a default delay value (see DELAY=X).

example: {DELAY 1000} <-- delays subsequent key stroke for 1 second.
{DELAY=X} Sets the default delay value to X milliseconds. This will cause every key to be delayed X ms.

If a value is already set and you specify {DELAY Y} you will have your following key delay Y ms but the subsequent keys will be delayed X ms.

example: {DELAY=1000} <-- all subsequent keys will be delayed for 1 second.
{APPACTIVATE WindowTitle} Activates an application using is WindowTitle.

Very useful if you want to send different keys to different applications.

Here are some more examples:
Keystrokes Description
{DELAY=50}@rnotepad~hello world%ha
  1. set delay after each character to 50 ms
  2. WINKEY+R to invoke the run dialog

  3. type "notepad" and press ENTER
  4. Type "hello world"
  5. Invoke Alt+H then press "A" to invoke the about dialog of notepad
{delay=100}{appactivate Calculator}{ESC}5*7~{beep 1000 500}^c{appactivate Notepad}^a{DEL}Result of 5*7 is: ^v Given that "Calc.exe" and "Notepad.exe" are running:
  1. set delay to 100 ms
  2. activate calculatr
  3. press ESC to clear previous result
  4. type in 5*7 then press ENTER
  5. beep for 500ms with a frequency of 1000
  6. press CTRL+C to copy result
  7. activate notepad
  8. press CTRL+A then DEL in notepad to delete previously written text
  9. type in a phrase then press CTRL+V to paste the copied result
{DELAY=500}{NUMLOCK}{CAPSLOCK}{SCROLL}{SCROLL}{CAPSLOCK}{NUMLOCK}
  1. Press NUM,CAPS,SCROll lock in order
  2. Turn them off in reverse order
{DELAY=500}% {DOWN 5}
  1. press ALT+SPACE
  2. press DOWN key 5 times





OTHER NOTES



Included in the main package is a sample template for developers to use. This is a blank setup that was used to create Volume #1. Please follow this format if creating your own packages. This way they will all have the same look and feel to them.

First you will create a file that ends with ".pwt" This tells the program it is a menu html file which will be displayed in the menu of PowerWebTools. You can simply rename the "Sample.pwt" file which is located in the "PWT\Data" folder.

Next you need to make a folder with the same name as your pwt file. This is where all your related files will go. Inside you will need a file called "startup.html". This is the index file displayed in the middle of the interface. Here you list all your scripts and give a brief description of each.

Check out the "sample.html" to use as a template for each of your scripts. In this folder you will also keep any related files that are needed by your scripts, like images, swf files, etc. You can place these in sub directories, just make sure to match your links to them.



Well that about covers it for now. If you have any questions,
comments, or suggestions, you can reach us at:
Support@PowerWebTools.biz

or visit the forum at:
http://www.PowerWebTools.biz/forum