How can I create a tray icon

{***************************************************** 
* How can I create a tray icon? * 

Fortunately, creating an application that runs in the system tray is pretty easy - 
only one (API) function, Shell_NotifyIcon, is needed to accomplish the task. 
The function is defined in the ShellAPI unit and requires two parameters. 

The first parameter (dwMessage) specifies the action to be taken. 
This parameter can be one of the following values: 

NIM_ADD: Adds an icon to the status area. 
NIM_DELETE: Deletes an icon from the status area. 
NIM_MODIFY: Modifies an icon in the status area. 

* To display an icon in the system tray, call Shell_NotifyIcon with 
the NIM_ADD flag. 

* Any time you want to change the icon, tooltip text, 
etc, you can call Shell_NotifyIcon with NIM_MODIFY. 

* Before your program terminates, call Shell_NotifyIcon with NIM_DELETE 
to clear your icon from the system tray. 

The second parameter (pnid) is a pointer to a TNotifyIconData structure 
holding the information about the icon. 

The TNotifyIconData structure contains the following elements: 

cbSize: Passes the size of the NOTIFYICONDATA data type. 
Data Type: DWORD. 

hWnd: Handle of the window used to receive the notification message. 
Data Type: HWND. 

uId: Identifier of the icon in the status area. 
Data Type: UINT. 

uFlags: Array of flags that indicate which of the other members contain 
valid data. 
Data Type: UINT. 
Value: Any combination of the following constants to indicate that 
the member of this structure is valid and will be used: 

NIF_ICON: Passing this flag indicates that the value for the 
hIcon will be the icon that appears in the taskbar status area. 

NIF_MESSAGE: Passing this flag indicates that the uCallBackMessage 
value will be used as the callback message. 

NIF_TIP: Passing this flag indicates that the value of szTip will 
be used as the ToolTip for the icon in the taskbar status area. 

uCallBackMessage: Identifier of the notification message sent to the 
window that is used to receive the messages. 
Data Type: UINT. 

hIcon: Handle of the icon that is displayed in the taskbar status area. 
Data Type: HICON. 

szTip: String to be used as the ToolTip text. 
Data Type: Fixed-length AnsiChar 64 bytes long. 

*****************************************************} 

unit  TrayIcon ; 

interface 



  A component to make it easier to create a system tray icon. 
  Install this component in the Delphi IDE (Component, Install component) 
  and drop it on a form, and the application automatically 
  becomes a tray icon. This means that when the application is 
  minimized, it does not minimize to a normal taskbar icon, but 
  to the little system tray on the side of the taskbar. A popup 
  menu is available from the system tray icon, and your application 
  can process mouse events as the user moves the mouse over 
  the system tray icon, clicks on the icon, etc. 

  Copyright ? 1996 Tempest Software. All rights reserved. 
  You may use this software in an application without fee or royalty, 
  provided this copyright notice remains intact. 
} 

uses 
   Windows ,  Messages ,  ShellApi ,  SysUtils ,  Classes ,  Graphics ,  Controls , 
   Forms ,  Dialogs ,  Menus ; 


  This message is sent to the special, hidden window for shell 
  notification messages. Only derived classes might need to 
  know about it. 
} 

const 
   WM_CALLBACK_MESSAGE  =  WM_USER  +  1 ; 

type 
   TTrayIcon  =  class ( TComponent ) 
   private 
     fData :  TNotifyIconData ; 
     fIcon :  TIcon ; 
     fHint :  string ; 
     fPopupMenu :  TPopupMenu ; 
     fClicked :  Boolean ; 
     fOnClick :  TNotifyEvent ; 
     fOnDblClick :  TNotifyEvent ; 
     fOnMinimize :  TNotifyEvent ; 
     fOnMouseMove :  TMouseMoveEvent ; 
     fOnMouseDown :  TMouseEvent ; 
     fOnMouseUp :  TMouseEvent ; 
     fOnRestore :  TNotifyEvent ; 
   protected 
     procedure  SetHint ( const  Hint :  string );  virtual ; 
     procedure  SetIcon ( Icon :  TIcon );  virtual ; 
     procedure  AppMinimize ( Sender :  TObject ); 
     procedure  AppRestore ( Sender :  TObject ); 
     procedure  DoMenu ;  virtual ; 
     procedure  Click ;  virtual ; 
     procedure  DblClick ;  virtual ; 
     procedure  EndSession ;  virtual ; 
     procedure  DoMouseMove ( Shift :  TShiftState ;  X ,  Y :  Integer );  virtual ; 
     procedure  DoMouseDown ( Button :  TMouseButton ;  Shift :  TShiftState ;  X ,  Y :  Integer ); 
       virtual ; 
     procedure  DoMouseUp ( Button :  TMouseButton ;  Shift :  TShiftState ;  X ,  Y :  Integer ); 
       virtual ; 
     procedure  OnMessage ( var  Msg :  TMessage );  virtual ; 
     procedure  Changed ;  virtual ; 
     property  Data :  TNotifyIconData  read  fData ; 
   public 
     constructor  Create ( Owner :  TComponent );  override ; 
     destructor  Destroy ;  override ; 
     procedure  Minimize ;  virtual ; 
     procedure  Restore ;  virtual ; 
   published 
     property  Hint :  string  read  fHint  write  SetHint ; 
     property  Icon :  TIcon  read  fIcon  write  SetIcon ; 
     property  PopupMenu :  TPopupMenu  read  fPopupMenu  write  fPopupMenu ; 
     property  OnClick :  TNotifyEvent  read  fOnClick  write  fOnClick ; 
     property  OnDblClick :  TNotifyEvent  read  fOnDblClick  write  fOnDblClick ; 
     property  OnMinimize :  TNotifyEvent  read  fOnMinimize  write  fOnMinimize ; 
     property  OnMouseMove :  TMouseMoveEvent  read  fOnMouseMove  write  fOnMouseMove ; 
     property  OnMouseDown :  TMouseEvent  read  fOnMouseDown  write  fOnMouseDown ; 
     property  OnMouseUp :  TMouseEvent  read  fOnMouseUp  write  fOnMouseUp ; 
     property  OnRestore :  TNotifyEvent  read  fOnRestore  write  fOnRestore ; 
   end ; 

procedure  Register ; 

implementation 


  Create the component. At run-time, automatically add a tray icon 
  with a callback to a hidden window. Use the application icon and title. 
} 
constructor  TTrayIcon . Create ( Owner :  TComponent ); 
begin 
   inherited  Create ( Owner ); 
   fIcon  :=  TIcon . Create ; 
   fIcon . Assign ( Application . Icon ); 
   if  not  ( csDesigning  in  ComponentState )  then 
   begin 
     FillChar ( fData ,  SizeOf ( fData ),  0 ); 
     fData . cbSize  :=  SizeOf ( fData ); 
     fData . Wnd   :=  AllocateHwnd ( OnMessage );  // handle to get notification message 
     fData . hIcon   :=  Icon . Handle ;  // icon to display 
     StrPLCopy ( fData . szTip ,  Application . Title ,  SizeOf ( fData . szTip )  -  1 ); 
     fData . uFlags  :=  Nif_Icon  or  Nif_Message ; 
     if  Application . Title  <>  ''  then 
       fData . uFlags  :=  fData . uFlags  or  Nif_Tip ; 
     fData . uCallbackMessage  :=  WM_CALLBACK_MESSAGE ; 
     if  not  Shell_NotifyIcon ( NIM_ADD ,  @ fData )  then  // add it 
       raise  EOutOfResources . Create ( 'Cannot create shell notification icon' ); 
      
        Replace the application's minimize and restore handlers with 
        special ones for the tray. The TrayIcon component has its own 
        OnMinimize and OnRestore events that the user can set. 
      } 
     Application . OnMinimize  :=  AppMinimize ; 
     Application . OnRestore   :=  AppRestore ; 
   end ; 
end ; 

{ Remove the icon from the system tray.} 
destructor  TTrayIcon . Destroy ; 
begin 
   fIcon . Free ; 
   if  not  ( csDesigning  in  ComponentState )  then 
     Shell_NotifyIcon ( Nim_Delete ,  @ fData ); 
   inherited  Destroy ; 
end ; 

{ Whenever any information changes, update the system tray. } 
procedure  TTrayIcon . Changed ; 
begin 
   if  not  ( csDesigning  in  ComponentState )  then 
     Shell_NotifyIcon ( NIM_MODIFY ,  @ fData ); 
end ; 

{ When the Application is minimized, minimize to the system tray.} 
procedure  TTrayIcon . AppMinimize ( Sender :  TObject ); 
begin 
   Minimize 
end ; 

{ When restoring from the system tray, restore the application. } 
procedure  TTrayIcon . AppRestore ( Sender :  TObject ); 
begin 
   Restore 
end ; 


  Message handler for the hidden shell notification window. 
  Most messages use Wm_Callback_Message as the Msg ID, with 
  WParam as the ID of the shell notify icon data. LParam is 
  a message ID for the actual message, e.g., Wm_MouseMove. 
  Another important message is Wm_EndSession, telling the 
  shell notify icon to delete itself, so Windows can shut down. 

  Send the usual Delphi events for the mouse messages. Also 
  interpolate the OnClick event when the user clicks the 
  left button, and popup the menu, if there is one, for 
  right click events. 
} 

procedure  TTrayIcon . OnMessage ( var  Msg :  TMessage ); 
   { Return the state of the shift keys. } 
   function  ShiftState :  TShiftState ; 
   begin 
     Result  :=  []; 
     if  GetKeyState ( VK_SHIFT )  <  0  then 
       Include ( Result ,  ssShift ); 
     if  GetKeyState ( VK_CONTROL )  <  0  then 
       Include ( Result ,  ssCtrl ); 
     if  GetKeyState ( VK_MENU )  <  0  then 
       Include ( Result ,  ssAlt ); 
   end ; 
var 
   Pt :  TPoint ; 
   Shift :  TShiftState ; 
begin 
   case  Msg . Msg  of 
     Wm_QueryEndSession : 
       Msg . Result  :=  1 ; 
     Wm_EndSession : 
       if  TWmEndSession ( Msg ). EndSession  then 
         EndSession ; 
     Wm_Callback_Message : 
       case  Msg . lParam  of 
         WM_MOUSEMOVE : 
           begin 
             Shift  :=  ShiftState ; 
             GetCursorPos ( Pt ); 
             DoMouseMove ( Shift ,  Pt . X ,  Pt . Y ); 
           end ; 
         WM_LBUTTONDOWN : 
           begin 
             Shift  :=  ShiftState  +  [ ssLeft ]; 
             GetCursorPos ( Pt ); 
             DoMouseDown ( mbLeft ,  Shift ,  Pt . X ,  Pt . Y ); 
             fClicked  :=  True ; 
           end ; 
         WM_LBUTTONUP : 
           begin 
             Shift  :=  ShiftState  +  [ ssLeft ]; 
             GetCursorPos ( Pt ); 
             if  fClicked  then 
             begin 
               fClicked  :=  False ; 
               Click ; 
             end ; 
             DoMouseUp ( mbLeft ,  Shift ,  Pt . X ,  Pt . Y ); 
           end ; 
         WM_LBUTTONDBLCLK : 
           DblClick ; 
         WM_RBUTTONDOWN : 
           begin 
             Shift  :=  ShiftState  +  [ ssRight ]; 
             GetCursorPos ( Pt ); 
             DoMouseDown ( mbRight ,  Shift ,  Pt . X ,  Pt . Y ); 
             DoMenu ; 
           end ; 
         WM_RBUTTONUP : 
           begin 
             Shift  :=  ShiftState  +  [ ssRight ]; 
             GetCursorPos ( Pt ); 
             DoMouseUp ( mbRight ,  Shift ,  Pt . X ,  Pt . Y ); 
           end ; 
         WM_RBUTTONDBLCLK : 
           DblClick ; 
         WM_MBUTTONDOWN : 
           begin 
             Shift  :=  ShiftState  +  [ ssMiddle ]; 
             GetCursorPos ( Pt ); 
             DoMouseDown ( mbMiddle ,  Shift ,  Pt . X ,  Pt . Y ); 
           end ; 
         WM_MBUTTONUP : 
           begin 
             Shift  :=  ShiftState  +  [ ssMiddle ]; 
             GetCursorPos ( Pt ); 
             DoMouseUp ( mbMiddle ,  Shift ,  Pt . X ,  Pt . Y ); 
           end ; 
         WM_MBUTTONDBLCLK : 
           DblClick ; 
       end ; 
   end ; 
end ; 

{ Set a new hint, which is the tool tip for the shell icon. } 
procedure  TTrayIcon . SetHint ( const  Hint :  string ); 
begin 
   if  fHint  <>  Hint  then 
   begin 
     fHint  :=  Hint ; 
     StrPLCopy ( fData . szTip ,  Hint ,  SizeOf ( fData . szTip )  -  1 ); 
     if  Hint  <>  ''  then 
       fData . uFlags  :=  fData . uFlags  or  Nif_Tip 
     else 
       fData . uFlags  :=  fData . uFlags  and  not  Nif_Tip ; 
     Changed ; 
   end ; 
end ; 

{ Set a new icon. Update the system tray. } 
procedure  TTrayIcon . SetIcon ( Icon :  TIcon ); 
begin 
   if  fIcon  <>  Icon  then 
   begin 
     fIcon . Assign ( Icon ); 
     fData . hIcon  :=  Icon . Handle ; 
     Changed ; 
   end ; 
end ; 


  When the user right clicks the icon, call DoMenu. 
  If there is a popup menu, and if the window is minimized, 
  then popup the menu. 
} 

procedure  TTrayIcon . DoMenu ; 
var 
   Pt :  TPoint ; 
begin 
   if  ( fPopupMenu  <>  nil )  and  not  IsWindowVisible ( Application . Handle )  then 
   begin 
     GetCursorPos ( Pt ); 
     fPopupMenu . Popup ( Pt . X ,  Pt . Y ); 
   end ; 
end ; 

procedure  TTrayIcon . Click ; 
begin 
   if  Assigned ( fOnClick )  then 
     fOnClick ( Self ); 
end ; 

procedure  TTrayIcon . DblClick ; 
begin 
   if  Assigned ( fOnDblClick )  then 
     fOnDblClick ( Self ); 
end ; 

procedure  TTrayIcon . DoMouseMove ( Shift :  TShiftState ;  X ,  Y :  Integer ); 
begin 
   if  Assigned ( fOnMouseMove )  then 
     fOnMouseMove ( Self ,  Shift ,  X ,  Y ); 
end ; 

procedure  TTrayIcon . DoMouseDown ( Button :  TMouseButton ;  Shift :  TShiftState ;  X ,  Y :  Integer ); 
begin 
   if  Assigned ( fOnMouseDown )  then 
     fOnMouseDown ( Self ,  Button ,  Shift ,  X ,  Y ); 
end ; 

procedure  TTrayIcon . DoMouseUp ( Button :  TMouseButton ;  Shift :  TShiftState ;  X ,  Y :  Integer ); 
begin 
   if  Assigned ( fOnMouseUp )  then 
     fOnMouseUp ( Self ,  Button ,  Shift ,  X ,  Y ); 
end ; 


  When the application minimizes, hide it, so only the icon 
  in the system tray is visible. 
} 
procedure  TTrayIcon . Minimize ; 
begin 
   ShowWindow ( Application . Handle ,  SW_HIDE ); 
   if  Assigned ( fOnMinimize )  then 
     fOnMinimize ( Self ); 
end ; 


  Restore the application by making its window visible again, 
  which is a little weird since its window is invisible, having 
  no height or width, but that's what determines whether the button 
  appears on the taskbar. 
} 

procedure  TTrayIcon . Restore ; 
begin 
   ShowWindow ( Application . Handle ,  SW_RESTORE ); 
   if  Assigned ( fOnRestore )  then 
     fOnRestore ( Self ); 
end ; 

{ Allow Windows to exit by deleting the shell notify icon. } 
procedure  TTrayIcon . EndSession ; 
begin 
   Shell_NotifyIcon ( Nim_Delete ,  @ fData ); 
end ; 

procedure  Register ; 
begin 
   RegisterComponents ( 'Tempest' ,  [ TTrayIcon ]); 
end ; 

end . 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 , docudel.zip<br>This example shows how to clear the document history on the start menu.<END><br>2 , BatteryAPIdemo.zip<br>This example demonstrates how to "To get information about the battery status with out having to use the SysInfo.ocx from MS"<END><br>3 , DisableXexam.zip<br>This example easily demonstrates how to remove the "X" from your forms.<END><br>4 , manc-sleep.zip<br>This example demonstrates how to pause for a specified duration in seconds using the 'Sleep' win32 API function.<END><br>5 , camp-api.zip<br>An example of editing the "win.ini" file to execute programs when Windows loads.<END><br>6 , win32api.exe<br>This will install the Win32API.txt on your system. This file holds all API declarations for Windows. Must 下载.<END><br>7 , transparentblt.zip<br>This demonstrates how to display an image transparently on the form. An excellent example.<END><br>8 , MessageBoxDemo.zip<br>Manipulate Message Boxes using API. These include a self-closing message box, and a form-centered message box.<END><br>9 , menucol.zip<br>This shows how to add "columns" to your menus. An excellent example.<END><br>10 , changeborder.zip<br>Have you ever wanted to change the border style during runtime? Now you can using SetWindowLong. This example demonstrates greatly how you can accomplish this.<END><br>11 , capmousedemo.zip<br>This example demonstrates how to Set capture on the mouse to detect when it enters and leaves a specific portion of your form.<END><br>12 , apilines.zip<br>This example demonstrates how to draw lines using API.<END><br>13 , killapp.zip<br>This is a bas file to close any window with just it's caption.<END><br>14 , combohgt.zip<br>This demonstrates how to change the height of a combobox's drop-down height using API.<END><br>15 , bat-os.zip<br>This demonstrates how to retrieve information about Battery Powered machines.<END><br>16 , display.zip<br>This will open the Screen Resolution Dialog so you can manipulate it.<END><br>17 , ciasystray.zip<br>This shows you how to add your icon to the system tray without any third-party controls.<END><br>18 , taskbar.zip<br>This demonstrates how to Hide and Show the taskbar.<END><br>19 , wpchanger.zip<br>This shows how to change Windows' Desktop Wallpaper<END><br>20 , discad.zip<br>This shows how to disable control alt and delete by tricking the computer into thinking that the screensaver is running.<END><br>21 , windowfrompoint.zip<br>Get a window's handle from the current cursor position. <END><br>22 , api.zip<br>api function collection<END><br>23 , benchmark.zip<br>This program is very usefull program which gets the details of your computer and have an ability of changing some system details. <END><br>24 , menustructure.zip<br>This program will retrieve the full menu structure of a Form, up to three levels, and allow the user to modify it. <END><br>25 , crackPassword.zip<br>This is a very unusual program which will let you read behind those ******* in password fields and recover captions from Dialogs, Labels, Command Buttons, TextBoxes... <END><br>26 , hotkey_source.zip<br>Hotkey Manager Beta Version: Manages and implements hotkey in Windows 95/98/NT.<END><br>27 , rjsoftapisamples.zip<br>The samples included in this project use the few API<END><br>28,sysmetrics.zip<br> This is a windows information viewer. You can use this sample to find or select an open window, and view information about the window, such as its hwnd, size, and parent window.<END><br>29,launcher.zip<br>This is an ActiveX DLL that causes a client app to wait for another app to finish. The library takes care of launching the new app and doing all of the synchronization. It also returns the exit code for the process.<END><br>30,servcont.zip<br>It enables you to start and stop NT Services through the Win32 API, change the startup type and the security account associated with it. Included is a test harness so that people can see how it works. The code has been tested under NT4 SP6a<END><br>31,passdemo.zip<br>This is a very good example of how to use the registry to save data. It shows how to create, store and save a password to the registry and also encrypts it to keep out prying eyes.<END><br>32,delay.zip<br>This is a rough translation of the GetTickCount API and includes three different ways to pause an application.<END><br>33,cdromsystray.zip<br> This excellent program which was sent to us annoymously adds an icon to the systray (bottom right on the start menu bar) and allows you to control the opening and closing of the CDROM.. Easily adaptable, and if you wrote this and want to be credited<END><br>34,rgbdemo.zip<br> Very small, very fast. Complete source included to demonstrate how to translate a long to red, green and blue values<END><br>35,sleep2.zip<br>This is a small project showing how to use the Sleep API call from within your program to pause for a set period of time. Its much better than looping round as it uses very little CPU time <END><br>36,threads.zip<br>This application is only used to show how a multithreaded program is structured through the 'eyes' of VB. If you follow the logic of the program it does teach a lot about multithreading and the necessary techniques to do this in a 'Thread Safe environmen<END><br>37,callback.zip<br>This small project is for the more advanced VB users and shows an undocumented VB function and an undocumented Win32 API function. Demonstrated in the project how to use these two functions in order to raise events in a class from a module<END><br>38,ctaskmanager.zip<br> This application contains the same basic functionality as the task manager in Windows. It allows you to see the loaded windows on your system as well as the class, position and process ID for each window. Remember that every process running on a system <END><br>39,cprocessfinished.zip<br>This little routine will test if a shelled process has finished executing and return true or false. Its bits of code like that we would like more of, so please send them.<END><br>40,apimsg.zip<br>API Message Box<END><br>41,freespc.zip<br>Get a Drive's Free Space<END><br>42,drvinfo.zip<br>Get Drive Information (S/N, Label, Format)<END><br>43,nodisk.zip<br>Show Message When There is No Disk in a Drive<END><br>44,fullpath.zip<br>Add Full Paths to a TreeView<END><br>45,disksrch.zip<br>Search for Disk in a Removable Drive<END><br>46,drvtype.zip<br>Determine Drive Type<END><br>47,findcd1.zip<br>Find the First CD-ROM<END><br>48,xxsShell32.zip<br>Shell32 functions and subs wrapper for VB developers.<END><br>49,api2.zip<br>This application is designed to help VB Developer to find Windows API Easely.<END><br>50,qsvb.zip<br>QuickSilver for Visual Basic, aims to provide a wrapper for all important Windows API functions by a simple class. All the operations are included as properties and methods that can used with the same ease as any other part of your dream project. <END><br>51,CPUInfo.zip<br>This code will quickly tell you a lot of your system information like computer name, IP address, OS, Service Pack, Processor Vendor, Processor Type, Processor Speed (Raw and Normal), RAM (Total and Available). <END><br>52,Callbacks.zip<br>It is nice little application, which demonstrates WinAPI Callbacks. It hides and restors all Yahoo chatting window in a single click. <END><br>53,ShellTrayIcon.zip<br>The CShellTrayIcon class allows your VB application to set, change and delete icons in the system's tray (note: the official term for the tray is the taskbar notification area). The class raises an event in your application when the user clicks an icon in the tray. <END><br>54,EventCtl.zip<br>This little control greatly simplifies the business of subclassing a form to get at the extra events that the Visual basic designers left out. i.e.: <END><br>55,EuroCalc2.zip<br>In place conversion between every one of the European Monetary Union member currencies and the Euro. <END><br>56,Edge.zip<br>In my program i have used few API functions to set 3D,Sunken,etched effects to the images of your image control.Another example shows how to change your label control to a 3D command button almost functionally. <END><br>57,Prjfloat.zip<br>I have used two APIFuctions 'Setwindowword' and 'Setparent' to make the child window float<br>freely and with in the parent window. Open with vb5 and vb6. <END><br>58,FilterTextBox.zip<br>This program shows how to filter out characters from TextBox control.Uses GetWindowLong and SetWindowLong APIs. <END><br>59,SysControl.zip<br>This is a program that will let you show, hide, alter text, capture a picture, change the parent, kill, close, enable, disable, get info on, minimize, maximize, restore, capture a picture of, make them stay-on-top, send a message to, edit the window style, and flash the title bar on almost any target! <END><br>60,LBApi.zip<br>This program uses Sendmessage API function for additem,removeitem,clear,selcount,listcount etc, with a horizontal scroll bar.(List/combo) <END><br>61,winnanny.zip<br>U can use Winnanny to restrict unauthorised people from running programs u don't want them to on your pc .It Uses simple api functions to do this. <END><br>62,ReadWriteIni.zip<br>Creates .ini file, writes to it and reads from it. Demo project shows how to write usernames and passwords. For clarity's sake I made it write user color preferences. <END><br>63,capture.zip<br>This program captures the active window and displays it to a Picture box. <END><br>64,TransIco.zip<br>An update to my previous code : Added a couple of features some ppl asked me for...like the ability to change the text colour of the icon and also keep the background transparent after a desktop refresh. <END><br>65,shutdown.zip<br>Shut Down Windows with Windows Shutdown Dialog.This is the real thing , not Kill , It is a real API Call, I hope you find it useful. <END><br>66,alarm.zip<br>A VB alarm clock. <END><br>67,clcViewWinInfo.zip<br>ViewWinInfo is a windows information viewer. You can use this sample to find or select an open window, and view information about the window, such as its hwnd, size, and parent window. <END><br>68,ptinrect.zip<br>Use the PtInRect API function to create an annoying program. <END><br>69,fliphorizvert.zip<br>Flips a picture using the StretchBlt API function. <END><br>70,animation.zip<br>Use BitBlt to crate flickerless animation <END><br>
#学习的101个经典例子,例子个个经典,涵盖C#的方方面面,带有说详尽的注释 Advanced - Multithreading - How-To Async Calls Advanced - Remoting - How-To TCP Remoting Advanced - Serialization - How-To Serializing Objects Advanced .NET Framework (GDI+) - Animation with GDI+ Advanced .NET Framework (GDI+) - Create a Screensaver with GDI+ Advanced .NET Framework (GDI+) - Use GDI+ to manipulate images Advanced .NET Framework (GDI+) - Working with GDI+ Brushes Advanced .NET Framework (GDI+) - Working with GDI+ Text Advanced .NET Framework (Localization) - Work with Resource Files Advanced .NET Framework (Networking) - Use Sockets Advanced .NET Framework (Threading) -- Thread Pooling Advanced .NET Framework (Windows Services) - Create a Windows Service Advanced .NET Framework - Interacting Windows Service Advanced .NET Framework - Make WIn32 API Calls Data Access - Bind Data in a ComboBox Data Access - Build a Master-Detail Windows Form Data Access - Create an Offline Application Data Access - Custom Data Binding Format Handlers Data Access - Data Entry Form Data Access - How-To Create a Database Data Access - N-Tier Data Form and Data Layer Data Access - Read and Write Images from a Database Data Access - Retreive and Process data with a SQL Data Reader Data Access - Sort and Filter with a DataView Data Access - Use ADO 2.6 Data Access - Use Stored Procedures Data Access - Using Typed Datasets File - How-To File Notifications File - How-To File System Framework - Comparison of DataBinding in Web and Windows Forms Framework - Creating an Enterprise Services Component Framework - How-To Configuration Settings Framework - How-To Environment Settings Framework - How-To MSMQ Framework - How-To Process Viewer Framework - How-To Reflection Framework - How-To Send and Receive Data Framework - How-To Service Manager Framework - How-To Stack Frame Framework - How-To System Events Framework - How-To Work with XML Framework - Key Benefits Framework - Partitioning your application Framework - role based security with Enterprise Services Framework - Scoping, Overloading, Overriding Framework - Understanding the Garbage Collector Framework - Using the COM Port Framework - Using WMI Interop - Automate IE Language - How-To Arrays Language - How-To Build a Custom Collection Class Language - How-To Callbacks Language - How-To DateTime Language - How-To OO Features Language - How-To Strings Language - How-To Try Catch Finally NET Framework - Create and use Trace Listeners NET Framework - How-To Send Mail NET Framework - How-To Use the EventLog NET Framework - How-To Working with GDI+ Pens NET Framework - Read and Write Performance Counters NET Framework - Reading and Writing with a Text File NET Framework - Use Temporary Files NET Framework - Use the Process Class and Shell Functionality NET Framework - Work with Console Applications Security - Create a Login Dialog Box Security - Encrypt and Decrypt Data Security - How-To Role-based Security Security - Use Cryptographic Hash Algorithms VS.NET - Create a VS.NET Add-In Web Development - Data Entry Form Web Development - Exposing a Simple Web Service Web Development - Master-Details Web Form Web Development - Paging through Query Results Web Services - Consume a Web Service WebService - How To Transfer Binary Data Windows Forms - How-To Data Binding with Navigation Windows Forms - How-To System Tray Icon Windows Forms - How-To Validating Textboxes Windows Forms - Associating Help with an Application Windows Forms - Create an Explorer Style Application Windows Forms - How-To Automate Office Windows Forms - How-To Common Dialogs Windows Forms - How-To Data Grid Formatting Windows Forms - How-To DataGrid Sorting and Filtering Windows Forms - How-To Inherited Windows Forms Windows Forms - How-To ListBox and ComboBox Windows Forms - How-To Menus Windows Forms - How-To Top-Level Forms Windows Forms - How-To Use Drag and Drop Windows Forms - How-To XML Comments Windows Forms - Simple Printing Windows Forms - Use Crystal Reports Windows Forms - Use Format Codes to Format Data in Strings Windows Forms - Use Regular Expressions Windows Forms - Use the Clipboard Windows Forms - XP Theme Support Windows Forms -- Owner Drawn Menus Windows Forms- How-To Custom Exceptions WinForms - Dynamic Control Creation
Keyboard shortcuts A quick reference guide to UltraEdit's default keyboard shortcuts Keymapping and custom hotkeys How to customize 键映射s and menu hotkeys Column Markers The benefit of a column maker is that it can help you to format your text/code, or in some cases to make it easier to read in complex nested logic. Quick Open UltraEdit and UEStudio provide multiple methods to quickly open files without using the standard Open File dialog. A favorite method among power users is the Quick Open in the File menu. The benefit of the quick open dialog is that it loads up very... Vertical & Horizontal Split Window This is a convenient feature when you're manually comparing files, when you want to copy/paste between multiple files, or when you simply want to divide up your edit space. Tabbed Child Windows Declutter your edit space by using the tabbed child windows feature Auto-Hide Child Windows When you're deep in your code, the most important thing is editing space. The all new auto-hide child windows give you The all new auto-hide child windows allow you to maximize your editing space by hiding the child windows against the edge of the editor. Customizing toolbars Did you know that you can not only change what is on UltraEdit's toolbars, you can also change the icon used, as well as create your own custom toolbars and tools? File tabs Understand how file tabs can be displayed, controlled and configured through the window docking system in UltraEdit/UEStudio. Create user/project tools Execute DOS or Windows commands in UltraEdit or UEStudio Temporary Files UltraEdit and UEStudio use temporary files... but what are temporary files? This power tip provides an explanation as well as some tips to get the most out of temp files. Backup and Restore Settings One of the staples of UltraEdit (and UEStudio) is its highly configurable interface and features. However, what happens when you're moving to a new system and you want to port your settings and customizations over along with UltraEdit? Add a webpage to your toolbar Use UltraEdit's powerful user tools to launch your favorite website from the click of a button on your toolbar Integrate Yahoo!, Google, Wikipedia and more with UltraEdit This tutorial will show you how to access the information you need in your browser by simply highlighting your text in the edit window and clicking your toolbar button How to install UE3 UE3 is the portable version of UltraEdit developed specifically for the U3 smart drive. You will need a U3-compatible USB drive for this power tip Scripting tutorial An introduction to UltraEdit's integrated scripting feature The List Lines Containing String option in Find The lists lines option can be a handy tool when searching because it presents all occurrences of the find string in a floating dialog box. You can use the dialog to navigate to each instance by double-clicking on one of the result lines... Scripting Access to the Clipboard How to access the Clipboard using the integrated scripting engine Scripting access to output window How to access the output window using the integrated scripting engine Writing a macro Steps to record and edit powerful macros to quickly and efficiently edit files Using "copied" and "selected" variables for dynamic macros Use copied and selected text in macros to dramatically increase the power and flexibility of UltraEdit macros Run a macro or script from the command line We are often asked if it is possible to run an UltraEdit macro or script on a file from the command line. The answer is yes - and it's not only possible, it's extremely simple! Using find/replace UltraEdit and UEStudio give you the ability to perform a find or replace through one or more files. Learn how to use UltraEdit/UEStudio's powerful find and replace. Multiline find and replace Search and replace text spanning several lines Incremental search Incremental search is an inline, progressive search that allows you to find matched text as you type, much like Firefox's search feature Regular expressions Regular Expressions are essentially patterns (rather than specific strings) that are used with Find/Replace operations. This guide can dramatically improve your speed and efficiency for Find/Replace Tagged expressions "Tagging" the find data allows UltraEdit/UEStudio to re-use the data similar to variable during a replace. For example, If ^(h*o^) ^(f*s^) matches "hello folks", ^2 ^1 would replace it with "folks hello". Perl compatible regular expressions An introduction to using Perl-style regular expressions for search/replace Perl regex tutorial: non-greedy regular expressions Have you ever built a complex Perl-style regular expression, only to find that it matches much more data than you anticipated? If you've ever found yourself pulling your hair out trying to build the perfect regular expression to match the least amoun... Remove blank lines A question we often see is "I have a lot of blank lines in my file and I don't want to go through and manually delete them. Is there an easier way to do this?" The answer is: yes! Configure FTP Set up and configure multiple FTP accounts TaskMatch Environments How to use TaskMatch Environments in UltraEdit and UEStudio Configure FTP backup Save a local copy of your files when you transfer them to FTP directories Encrypt and Decrypt Text Files Use UltraEdit to encrypt and decrypt your text files Link to remote directories Sync local directories with remote (FTP/SFTP) directories Compare Modified File Against Source File How to compare the modified file against the source file on disk. Column Based Find and Replace Need to restrict your search/replace to a specific column range? The column based search does just that... Compare Highlighted Text If you need to quickly compare of portions of text, rather than an entire file, then you need UltraEdit/UEStudio's selected text compare! The selected text compare allows you to select portions of text between 2 files and execute a compare on ONLY the se Using the SSH/telnet console A tutorial for UltraEdit/UEStudio's SSH/telent feature Adding a wordfile Adding a wordfile in UltraEdit v15.00 and greater Adding a wordfile (in v14.20 and earlier) Add a language definition to your wordfile for use with UltraEdit and UEStudio's powerful syntax highlighting Syntax highlighting and code folding Explanation of highlighting and folding definitions in the UltraEdit/UEStudio wordfile Create Your Own TaskMatch Environment How to create your own TaskMatch Environments Filtering the Explorer View How to filter the Explorer view in UltraEdit and UEStudio Group Files and Folders with Projects How to group your files and folders using Projects Adding or removing file extensions for syntax highlighting How to configure syntax highlighting to highlight different file types automatically Project Settings Advanced Project Features - Using the UltraEdit/UEStudio project settings dialog Scripting Techniques Scripting techniques for UltraEdit/UEStudio. Perl-style regular expressions for function strings Using Perl-Style regexes to identify functions in your syntax-highlighted files and populate the function list Autocorrect keywords in UltraEdit/UEStudio How to enable and disable autocorrect keywords with syntax highlighting Insert Menu Commands UltraEdit includes several special insert functions under the Insert menu. You can use these functions to insert a file into the active file, insert a string into the file at every specified increment, sample colors from anywhere on your screen, and more. Using Bookmarks UltraEdit and UEStudio provide a way for you to mark, access, and preview your favorite lines via bookmarks. We'll look at how to create, edit, and configure bookmarks in the bookmark viewer. Creating Search Favorites UltraEdit includes a Search and Replace Favorites feature that allows you to manage frequently used Find and Replace strings. Create, name, and edit your Search and Replace Favorites... Customizing The HTML Toolbar Commands The purpose of this power tip is to teach you how to customize the existing HTML tags and create your own HTML tags. Combine All Open Files into a Single Destination File Have you ever needed to combine multiple files into a single destination (output) file? You can use a combination of a script and tool to create a single file from multiple files. Sum Column/Selection in Column Mode This power tip demonstrates how to calculate the sum from a column of numeric data. Column mode How to use the features of UltraEdit's powerful column mode Advanced and column-based sort How to sort file data using the advanced sort options and the column sort options Working with CSV files Use UltraEdit's built-in handling for character-separated value files Word wrap and tab settings for different file types UltraEdit and UEStudio allow you to customize the word wrap and tab settings for any type of file. This power tip walks you through the steps to configure these customizations Versioned backup Set UltraEdit/UEStudio to automatically save versioned backups of your files Configure spell checker How to set the highly-configurable options for UltraEdit's integrated spell checker Special functions UltraEdit includes several special functions under the File menu. You can use these functions to insert a file into the current file, delete the active file, send the file through email, or insert a string into the file at every specified increment HTML preview Edit and preview your rendered HTML code in the edit window Custom templates Create templates for frequently used text. You can also assign hotkeys to your templates. Compare files/folders Integrated differences tool - comparing files and folders with UltraCompare Professional File change polling Monitor log files and more using UltraEdit's file change polling feature Vertically split the edit window Splitting the edit window in UltraEdit/UEStudio Large file text editor UltraEdit can be used to edit large text files. Learn how to configure UltraEdit to optimize editing large text files Multiple configuration environments of Ultraedit/UEstudio How to set up your separate environments for UltraEdit/UEStudio Java compiler Create a custom user tool to compile Java code, using the command line, from within UltraEdit Configure UltraEdit with javascript lint How to check your JavaScript source code for common mistakes without actually running the script or opening the web page Character properties at your fingertips Access the properties of a character with the click of a button Ctags Set up and configure Ctags for use in UltraEdit Visual SourceSafe integration Create a customized user tool to check out files from Visual SourceSafe Running WebFOCUS from UltraEdit Configure UltraEdit for use with WebFOCUS CSE HTML Validator CSE HTML Validator for Windows is the most powerful, easy to use, user configurable, and all-in-one HTML, XHTML, CSS, link, spelling, and accessibility checker available. This quick tutorial shows you how to use it and set it up in UltraEdit/UEStudio Working with Unicode in UltraEdit/UEStudio In this tutorial, we'll cover some of the basics of Unicode-encoded text and Unicode files, and how to view and manipulate it in UltraEdit. Search and delete lines found UEStudio and UltraEdit provide a way for you to search and delete found lines from your files. This short tutorial provides the steps for searching for and deleting lines by writing a simple script. Parsing XML files and editing XML files Parsing XML can be a time-consuming task, especially when large amounts of data are involved. As of v15.10, UltraEdit provides you with a the XML Window for the purpose of parsing your XML files. The XML window allows you to navigate through the XML... Using Bookmarks UltraEdit and UEStudio provide a way for you to mark, access, and preview your favorite lines via bookmarks. We'll look at how to create, edit, and configure bookmarks in the bookmark viewer. Using the CSS style builder UltraEdit and UEStudio both include a CSS style builder for you to easily configure and insert CSS styles into the active document. This power tip will show you how to use the style builder. SSH/Telnet Session Logging Log the input and output to/from the server in your SSH/Telnet sessions Edit, develop, debug, and run SAS programs This user-submitted power tip describes how to use UltraEdit as a SAS editor, as well as how to run and debug SAS programs from the editor itself Tabs to Spaces - Ignore tabs and spaces in string and comments Ever had to convert the tab characters to spaces, but wanted to leave the tabs in strings and comments untouched? In previous versions, the convert tabs to spaces feature didn't distinguish between tabs as whitespace/formatting vs. tabs in... Setting File Associations in UltraEdit/UEStudio A file association is used by Windows Explorer to determine which application will open the file when it is double-clicked (or opened) in Explorer. In the interest of speed, many UltraEdit/UEStudio users want to associate specific file types with... Windows Explorer Integration We know that many UltraEdit/UEStudio users don't operate solely from within the editor; rather, they are frequently working in Windows Explorer before going to the editor. As such, they want (and need) a quick and easy way to open files from within... Line Change Indicator Ever wanted to see what changes you've made since your last save, or have you ever wanted to know what lines you've changed during an edit session? As of UltraEdit v16.00, you can do just that with the line change indicator... Comment and Uncomment Selected Text How many times per day do you comment out a block of code? Do you ever get tired of manually typing your open and close comments? As of v16.00, simply highlight your code, click a button, and move on. It's that easy... Hide, Show, and Delete Found Lines in UltraEdit/UEStudio Over time, many of our users have asked for the ability to hide/show lines based on a Find string... you got it! As of v16.00, you can now hide/show and even delete text based on your search criteria. The following power tip will guide you through... Read Only Status Indicator Have you ever opened a file, tried incessantly to modify it, then realized it was read only? As of v16.00, UltraEdit includes an enhanced read only status indicator. For read only files, the file tab will display a lock icon. Additionally, you can... Regular Expression Builder Regular Expressions are essentially patterns, rather than literal strings, that are used to compare/match text in Find/Replace operations. As an example, the * character in a Perl regular expression matches the preceding character or expression zero or.. XML Manager: In-line editing of XML files The XML Manager allows you to navigate through complex XML data. But, what happens when you want to make a quick edit to your XML tags/data.... UltraEdit v16.00 extends the XML Manager with inline editing, giving you a faster and more elegant method... UltraEdit v16.00 Scripting Enhancements One of UltraEdit's trademark features is the ability to automate tasks through scripting. V16.00 extends the power of scripting further with includes, active document index, and more! Parse Source Code with the Function List The function list displays all the functions in the active file/project. Double clicking on a function name in the list repositions the file to the desired function. Also, as you navigate through a file, the function selected in the list changes to indica Brace Matching Brace matching is an often-used feature; it is indispensable for navigating through your code. Brace matching simply allows you to position your cursor next to an open (or close) brace and highlight the corresponding brace. Code Folding Code folding is indispensable for managing complex/nested code structures. Code folding allows you to collapse (hide) a section of code. The collapsible sections are based on the structure of the file/language Shared FTP accounts Do you use multiple IDM products - UltraEdit, UEStudio, or UltraCompare? Ever get sick of managing your FTP account information in each application? Now you can stop worrying about porting your FTP account settings! Simply configure it once and share you Auto-load macro with project Many UltraEdit/UEStudio users rely heavily on projects - and why not, projects are extremely helpful in managing related files and folder. Projects not only allow you to group/manage your files and folders, but projects also contain other items that... UEStudio 使用技巧 Using the classviewer A tour of UEStudio's classviewer which provides a parsed graphical representation of your project CVS/SVN Auto-Detect UEStudio can automatically detect and import your CVS/SVN account settings when you import a folder already under version control. IntelliTips UEStudio offers language intelligence in an exciting feature we call IntelliTips (like Intellisense). Imagine a function parameter list tooltip coupled with an intelligent auto complete tooltip for code elements of the current file Quickstart guide: Using UEStudio to develop Java applications A guide for using UEStudio to edit and develop Java applications Create a local PHP MySQL development environment How to set up a development environment for PHP/MySQL on your local machine. A development environment allows you to test your code as you develop your web application before publishing it to the web. Quickstart Guide: Using UEStudio with Borland C/C++ Compiler C/C++ developers can use UEStudio to set up and configure projects with the Borland C/C++ compiler Creating your first application Create, build, and run an application from within UEStudio Configuring VCS with UEStudio A guide for configuring version control support (VCS) in UEStudio 11 and later Configuring VCS with UEStudio (in v10.30 and earlier) A guide for configuring version control support (VCS) in UEStudio CVS Diff How to use the built-in CVS Diff commands with UEStudio and UltraCompare Add a file to version control system A trademark feature of UEStudio is it's powerful Version Control System. As you continue in your development, it is likely you will need to add files to the version control repository Compare files/folders A guide for comparing files or folders from UEStudio using the integrated diff tool Quickstart guide: Using the integrated debugger A guide for setting up integrated WinDbg debugging in UEStudio Quickstart guide: Using the integrated PHP debugger A guide for setting up the integrated PHP debugger in UEStudio Using the SSH/telnet console A guide for setting up SSH/telnet in UEStudio Keymapping and custom hotkeys A guide for customizing 键映射, menus and menu hotkeys in UEStudio Configuring SVN and CVS Accounts A cornerstone feature of UEStudio is the version control support. UEStudio supports CVS and SVN as well as multiple connection protocols. Before you can use version control, you must create an account. UEStudio has an auto-detect CVS/SVN feature, but... Group Files and Folders with Projects How to group your files and folders using Projects UltraEdit for Linux 使用技巧 FTP through Nautilus Did you know that you can access remote FTP files in UltraEdit for Linux with a variety of server connection protocols? Using Nautilus, the default file manager for the popular GNOME desktop, you can access files via FTP, SFTP, Windows shares, or even... Primary Select Using Linux's primary select feature in UltraEdit for Linux Custom terminal Set up a user tool to interact with the command line and specify a custom terminal for output Custom file browser UltraEdit for Linux allows you to right-click any file or folder in your Project (from the File View) and browse it on the file system. But did you know that you can configure which file browser is launched from UltraEdit? Scripting tutorial An introduction to the integrated scripting feature in UltraEdit for Linux Writing a macro Steps to record and edit powerful macros to quickly and efficiently edit files Vertical and horizontal split window editing This is a convenient feature when you're manually comparing files, when you want to copy/paste between multiple files, or when you simply want to divide up your edit space. Find and Replace A guide to the powerful features and options available under the "Search" menu. Find in Selected Text Find and Replace is a cornerstone feature for UltraEdit, so it is of course integral to UltraEdit for Linux. The Linux version offers the same features as in the Windows version, as well as additional features. One specific feature that was improved... Using bookmarks Provides a way for you to mark and quickly access lines of interest in your files via bookmarks. To add a bookmark, make sure the cursor is positioned on the line you'd like to bookmark. Press CTRL + F2.... Adding a wordfile Add a language definition to your wordfile for use with UltraEdit's powerful syntax highlighting Projects In UltraEdit for Linux, projects are a convenient, time-saving, feature that allow you to group and manage associated files. Additionally, Projects are integrated throughout the framework of UltraEdit making it easier to perform other actions on your... Search Favorites UltraEdit for Linux includes a Search and Replace Favorites feature that allows you to manage frequently used Find and Replace strings. Create, name, and edit your Search and Replace Favorites... Column mode How to use column and block selection mode in UltraEdit for Linux Templates How to create text editing templates in UltraEdit for Linux Keyboard shortcuts A quick reference guide to UltraEdit's (Linux) default keyboard shortcuts How to use the UltraEdit for Linux tar package This guide shows you how to download and use the tar.gz package of UltraEdit UltraEdit for Linux v1.20: Scripting enhancements One of UEx's trademark features is the ability to automate tasks through scripting; v1.2 extends the power of scripting further with includes. UltraEdit for Linux Command Line Support UltraEdit for Linux has many convenient command line options and flags for calling UEx from a console/terminal as part of a script, or simply for convenience. Advanced file sorting Sort files in UEx with a powerful array of options and settings, including optional sort keys UltraCompare 使用技巧 Compare text snippets A tutorial showing you how to compare text snippets without having to save your snippets into a file. Diff your snippets, merge your changes, save the result as a separate file, then clear out the snippets (and their temp files...) Increase your virtual memory Large file comparisons may require your system to use virtual memory. This tutorial shows you how to configure Windows to increase the amount of virtual memory on your system. Compare large files UltraCompare is a very robust file comparison tool which includes support for comparing large files even several GB large. This power tip shows you how to optimize UltraCompare for maximum performance when working with large files. Compare .zip, .rar., and .jar Archives Got Archives? UltraCompare's archive compare feature allows you to compare the contents of .zip files, .rar files, Java .jar files, and even password-protected .zip files. Use the archive compare and examine differences between archives or folders on th Version Control Comparison UltraCompare v6.40 includes major improvements to the command line support that allow greater flexibility when integrating with other applications. If you're using version control in a team development environment, then UltraCompare v6.40 is exactly... Visually inspect HTML code How to use UltraCompare Professional's integrated browser view to visually compare and inspect HTML code Compare directories using FTP/SFTP Configure FTP/SFTP accounts in UltraCompare Professional to backup or sync FTP directories and compare local and remote folders. Block and line mode merge Merge differences and save them between 2 or 3 files at the click of a button Sync files and folders with the Folder Synchronization feature Folder Synchronization is a powerful feature in UltraCompare which allows you to sync files between local, remote, network, and even FTP folders. Recursive compare Use recursive compare to evaluate subdirectories' content for differences Find and eliminate duplicate files Unnecessary and unwanted duplicate files can eat up valuable system disk space. This power tip will show you how to quickly and safely eliminate unwanted duplicate files from your system with the powerful Find Duplicates feature in UltraCompare Compare Word documents Compare multiple Microsoft Word documents - Identify and merge differences between Word documents. Command line tips Tips for running UltraCompare from a DOS command prompt Command line quick difference check Run a quick difference check between two files to quickly see if they're the same or different Ignore options Setting ignore options for file/folder comparisons in UltraCompare Ignore/compare column range Set parameters to ignore or compare up to 4 unique columns of data. Filtering files in folder mode Filtering files in UltraCompare while in folder mode Customizing the time/date format for folder comparison Many UltraCompare users in different regions of the world have different standard formats for dates and timestamps. UltraCompare provides the ability to customize the date and timestamp for your folder comparisons Editing files in UltraCompare How to use the integrated text editing capabilites within UltraCompare UltraCompare shell integration Tips for integrating UltraCompare into the right-click context menu in Windows Explorer Export/save text compare output How to export and save diff output from UltraCompare Web Compare If you work with web files, you are probably accustomed to downloading the file via FTP or viewing the source, saving the text, then doing a compare. We're sure you'll agree, this process is clunky and mechanical.... Manually Sync Your Compare Manually sync your compare lines UltraCompare Sessions If you're anything like us, you always have multiple applications running at once. Spawning multiple instances of any application makes it harder to work. So... UC gives you sessions to manage your compare operations! Customizing colors Tutorial on how to change the colors for folder/file compare in UltraCompare Reload previously active sessions When you're doing complex file and folder compare operations, it doesn't take long to open quite a few tabs. What happens when you close UC to move on to another task or to go home for the day- lose the session? Not with Reload active sessions... Session Manager If you've compared the same set of files/folders more than once... You need sessions. Sessions allow you to save compare options for a common set of files or folders which you can quickly recall anytime you open UltraCompare. Not only can you save... Workspace Manager The Workspace Manager is all about convenience, so the Explorer view allows you to drag/drop files and folders for quick and easy compare operations. Simply select the folder (or file) in the Explorer view and drag it to the compare frame. Bookmark Favorite Files/Folders in UltraCompare How to use Favorite in UltraCompare to bookmark your commonly used files/folders. FTP in Workspace Manager You can access your accounts through the Explorer tab of the Workspace Manager in UltraCompare Share FTP Accounts with UltraEdit/UEStudio Set up UltraEdit/UEStudio to share FTP accounts with UltraCompare FTP Folder Compare with CRC Have you wanted to do a quick folder compare - between a local directory and remote directory - without downloading the files first? No problem... As of v7.20, UltraCompare now supports an FTP CRC compare method. With the CRC compare feature... Mark and hide files and folders in folder compare Have you ever wanted to hide files/folders that aren't relevant for your immediate compare needs? We have... While UltraCompare offers many compare filters and ignore options, sometimes you just need more control... UltraSentry 使用技巧 Web browser cleanup Use UltraSentry to securely clean up history and temporary files associated with web browsers Application Cleaning Support Clean the sensitive data left behind after running your applications Delete browser cookies Protect your privacy and your security by securely deleting malicious or private cookies Download directory cleanup Securely delete your download history with UltraSentry Optimize your browser Using UltraSentry to improve speed, performance, and security of your browser Explorer/Microsoft office Integration Tips for integrating UltraSentry into the right-click context menu in Windows Explorer or MS Office Stealth mode Tutorial for running UltraSentry in the background or system tray Scheduling a task Tutorial for scheduling UltraSentry to automatically execute a specific cleaning task Run UltraSentry as a system service How to Schedule your profiles/cleaning operations and be sure that UltraSentry is running them whether you are logged in or not Using the Wizard UltraSentry's wizard makes secure/privacy cleaning operations quick and easy. This power tip shows you how to use the wizard. Total System Scrub Information on how to use UltraSentry's "Full System Scrub" profile to protect your privacy and secure your sensitive data Custom profiles This power tip describes how to set up your own custom profile so that you can securely clean only areas of the system that you wish to clean Securely delete email How to securely delete email on your system using UltraSentry Advanced features This power tip describes some of the advanced features and functionality of UltraSentry
1 , TaskBar_v0.5.zip"Form_Taskbar is a control for Visual Basic which, once placed onto a form, makes the form act like the Taskbar (minus the Start Menu)." -- David Newcum2 , RemBuilderplus.zip"Rem Builder will auto load on startup to use Rem Builder; start your Visual Basic program with your project code showing, right click and you should see "Rem Builder".3 , syntax.zipThis is an excellent example of how to highlight HTML code in a rich textbox. I encourage everyone to check it out.4 , status.zipThis example demonstrates how to display text about each control the mouse is currently above.5 , dm10e.zipThis COM object allows you to send SMTP mail from many of the most used applications, including:Active Server Pages (Microsoft IIS or Chili!ASP extensions) Microsoft Visual Basic 4.x/5.x/6.x Microsoft Word, Access, Excel 95/97 (VBA) Windows Scripting Host (cscript / wscript) Perl 5.x for Win32 Inprise Delphi 4 Microsoft Visual C++ 4.x/5.x/6.x Microsoft Visual J++ 1.x/6.0 (Java) 6 , ocxex.zip"This is a quick example I made to show you how to use Events and properties in a OCX."7 , news.exeThis control aids as a complete Newsgroup control. It can post messages and recieve messages through the internet.8 , optiondemo.zipThis example demonstrates how to create realistic Option Buttons in Visual Basic.9 , mencrypt.zipThis ocx allows you to encrypt strings while utilizing a password shift method.10 , listtxt.zipThis shows how to retrieve the text from the current selection in a listbox.11 , list_index.zipThis example tells you if the inputted List Index is selected or not.12 , fade.zipThis is a bas to fade a pictuerbox. Can be used to make a progressbar13 , subcls32.zipThis demonstrates hoe to write a subclassing control. And it has many examples as to how to use the control (included.)14 , djmeter.zipThis is the source for a Progress Bar control. Also includes a helpful example.15 , progress.zipThis is an example on how to use the Progress Bar included with Microsoft's Visual Basic.16 , slider.zip"This is a sample of the Slider control that is part of the Microsoft Windows Common Controls(COMCTL32.OCX). "17 , statusbar.zip"This is a sample of the StatusBar control that is part of the Microsoft Windows Common Controls(COMCTL32.OCX). "18 , tabstrip.zip"This is a sample of the TabStrip control that is part of the Microsoft Windows Common Controls(COMCTL32.OCX). "19 , uncommondialog.zipThis is an alternative to Microsoft's (tm) Common Dialog control by Nick Mancini.20 , ucmdex.zipThis is the example to go with Uncommon Dialog OCX.21 , scroll.zipThis demonstrates how to create an auto-scrolling textbox.22 , splitter.zipThis demonstrates how to "split" controls. This is an excellent example, and I reccomend this file for everyone. 23 , mtymse.zip"This project is a fully working ActiveX control, with code, that allows you to control almost every aspect of the mouse. You can move the mouse, click the buttons and adjust the click time from your application."24 , ucmdsrc.zipThis is the source to my OCX. This demontrates how to create a basic OCX. This will aid anyone who wants to create an OCX.25 , avb-systray.zipThis is a good example to add your programs' icon to the Systray. This Zip also includes a helpful example.26 , cmdex.zipThis is an example of how to use the Common Dialog. This demonstrates most of the event procedures of the CM Dialog control.27 , campbell-reg.zipThis demonstrates how to write and retrieve information from the registry.28 , basChangeCursor.zipThis module demonstrates how to animate your cursor through Visual Basic, and Win32.29 , hdcat.zipThis will grab every file on your hard drive and add its path to a listbox.30 , vbo_bump.zipThis DLL allows programmers to easily draw 3D grippers and lines on Device Contexts (DC). 31 , vbo_user32_bas.zipThis BAS file contains many functions to ease the process of using the USER32 DLL. 32 , vbo_gdi32_bas.zipThis BAS File conatains many functions to ease the process of using the GDI32 DLL. 33 , vbo_button_bas.zipThis bas contains functions to manipulate Button class objects34 , LPT_Port.zipRead/write to LPT parallel port35 , DancingBaby.zipA Dancing Baby Screen Saver Which Dance on A Famous Song Macarena ( With Sound ) A Very Cute Screen Saver ,with source code, If you want more avi files then please mail me.36 , superwriter.zipA complete Wordprocessor, with source code. You can save, open files, print them out, copy, cut, paste, well you know the concept!37 , LogOff.zipThis conveniently placed program allows you to log off from your system tray.38 , ChPass.zipChanges NT Domain Passord. This program has two compenants... a server and a a client. The Server must run on a Domain Controller.39 , Reboot.zipThis conveniently placed program allows you to restart your computer more easily, from your system tray. 40 , analogclock.zipThis is a very good demo OCX for an analog clock. Although quite big in size, this is due to the very good background to the clock face. The analog click itself is very accurate and looks very impressive.41 , edge.zipThis program uses a few API calls/functions to set 3D, sunken and etched effects to an image inside an image control. It also has an example of how to change a label control to a 3D command button.42 , splitpanel2.zipA re-written version of the SplitPanel that David originally put onto this site about a year ago. It basically is a control that you place on a form and you can put other controls on the form and by dragging the splitpanel bar around, it does the resizing for you. 43 , avcontrol.zipThis control takes care of many audio and visual functions needed for game and graphical programmers. You can easily retrieve or change the screen resolution and color depth, play audio CDs and standard wave files 44 , fsocontrol.zipThis demonstration version of this control is a wrapper around the FileSystemObject - and makes using the FSO much easier.45 , slidingtoolbar.zipThis project shows how to implement a sliding toolbar in an application using one quick Kernel32 API function "Sleep". The application is fairly simple and easy to implement. 46 , dcsize.zipWhen this control is put onto a form, it ensures that all other controls retain the correct aspect-ratio from the design time view. Basically, it resize all controls on a form when the form resizes. This code is 100% free.47 , colorchooseocx.zipThis great OCX allows you to have a drop down list of colors to allow your user to choose from. The control itself has all the events and properties that you need.48 , xgraphmeter.zipThis is XGraphMeter, a bargraph/meter control good for displaying constantly changing values such as CPU usage or DUN throughput.49 , dynlistmnu.zipWhile trying to come up with a Dynamic menu in VB, I decided that VBs menu object was just too much of a pain to work with This project contains a form to mimic the functionality that I was looking for.. Part of my design criteria was that the menu form 50 , runtime.zipSupposedly, what this code does cannot be done... But it works. Basically, its a demonstration of how you can change control properties at run-time. If you try it in VB, you will get a runtime error, but this code shows you how to do it. Gilbert says51 , ledbulb.zipThis is a first for this author. Its an OCX which represents a characters in the form of led bulbs.52 , textapiroutines.basContained here is a small set of routines can be used with a Rich Text box (RTF) control. It can be used for other controls as well with minor modifications. You are welcome to change, use and distribute the code as you see fit.53 , xflatbutton.zipFlatButton is an owner-drawn flat button that pops up when the mouse passes over it. This version is text-only, but has flexible color support.54 , urllabel.zipWith the development of the internet and intranet applications, this control could could in more and more useful. Its a hyperlink label which will change color or underline when the mouse goes over it 55 , progbar.zipThis is a great replacement for the standard VB progress bar. Its smooth, totally free (all the source code is here), and more versitile than the one that comes with VB.56 , splitpanel.zipThis little control with full source code is remarkably compact but does a lot of fancy things. It allows you to be able to split panels and handles all the resizing behind it. We couldn't think of how to describe it properly, but 下载 it and try it57,basicreg.zipBasic Save and Retrieve Functions58,proguse.zipKeep Track of a Programs Usage59,millisec.zipCount Time in Milliseconds 60,getday.zipGet the Day of Week that a Day Falls On61,shellend.zipNotify the User when a Shelled Process Ends 62,varlist.zipGet a List of Windows Variables 63,detdisp.zipDetermine Display Colors 64,ctrlntwk.zipControl Panel - Network65,ctrluser.zipControl Panel - User Properties66,ctrltwui.zipControl Panel - TweakUI67,ctrlthm.zipControl Panel - Themes68,ctrltele.zipControl Panel - Telephony69,ctrlsys.zipControl Panel - System Properties70,ctrlscrn.zipControl Panel - Screen Savers71,ctrlreg.zipControl Panel - Regional Settings72,ctrlprnt.zipControl Panel - Printers73,ctrlpwr.zipControl Panel - Power Management74,ctrlpw.zipControl Panel - Passwords75,ctrlodbc.zipControl Panel - ODBC3276,ctrlmm.zipControl Panel - Multimedia77,ctrlmdm.zipControl Panel - Modem78,ctrlkbd.zipControl Panel - Keyboard79,ctrlmous.zipControl Panel - Mouse80,ctrlpoa.zipControl Panel - Post Office Admin81,ctrlotlk.zipControl Panel - Outlook82,ctrljoy.zipControl Panel - Joystick83,ctrlie4.zipControl Panel - Internet Explorer 84,ctrlgame.zipControl Panel - Game Controllers85,ctrlfont.zipControl Panel - Fonts86,ctrlarmp.zip Control Panel - Add/Remove Programs87,ctrlanh.zipControl Panel - Add New Hardware88,ctrlanp.zipControl Panel - Add New Printer89,ctrlaccs.zipControl Panel - Accessibility90,ctrlbrf.zipControl Panel - Create Briefcase91,ctrlcdsk.zipControl Panel - Copy Disk92,ctrlcns.zipControl Panel - Create New Shortcut93,ctrldun.zipControl Panel - Dial-Up Networking94,ctrldisp.zipControl Panel - Display Properties95,RegControl.zipFree Registry ActiveX Control. Read/Write String/Binary/DWord values, Check if key/value exists, CreateKey, Delete key/value and enumerate keys/values!96,MouseEvent.zipThis is a Mouse Event procedure that is pretty cool. It can be used for Web designing. Check it out!97,ShellTrayIcon.zipThe CShellTrayIcon class allows your VB application to set, change and delete icons in the system's tray 98,Reboot2.zipReboot remotely. I wrote this to reboot selected PC's during off hours. It is a standalone application that will display a 10 second countdown. Any open data will try to be saved prior to the shutdown process.99,S-Secure.zipThis is S-Secure.....a security program I've coded for Windows. It has 4 modules each in a separate VB project. 100,DriveSpace.zipThis Program finds and displays the Drive's Space.101,Disable_X.zipThis user control allows you to disable the windows close "X" button. Example program included.102,SetParnt.zipShows how to assign controls to different forms at run time. 103,phone.zipA Cellular Phone Application Uses MSCOMM, Modem and normal telephone lines to make calls. You can use this application to make local as well as International calls. 104,Timer01.zipSimple program demonstrating how to create a stop watch using the Timer control. 105,Bubblesort.zipA simple Bubble Sort code that shows how the program works within a VB program. 106,systray.zipJust another Systray Utility, but worse than the others !!! static, flashing and animated Tray-Icons 107,FolderFiles.zipDemonstrates usage of progress bar and list box controls. Its purpose is to get all the files from a specified folder while showing the progress completed. 108,MultipleDataSets.zipThis is a simple, (1) form VB 6.0 program which demonstrates how to plot multiple sets of data on the same graph using the MSChart Control 6.0 (OLEDB). 109,MthVwPrj.zipMonthView control. Lets users view and set date information via a calendar-like interface. 110,calculator4.zipI know this is wierd but I made a calculator control. Just add it to your control bar, double click, and you can use the calculator when your project is at run-time. Source included.111,GradientButton.zipThis button was created to be an enhanced replacement for Visual Basic's standard command button by adding 2 more Border appearance schemes, 2 more button styles, and hover effects. 112,MSChart.zipMSChart. You can view MSChart in Line graph,Pie , Area, etc.. also you can update data provided in the Grid.. Very interesting must see it... 113,printing_tut.zipI made this for a freind to help him out with some basic Printing, i got the idea from a printing tut i found on the net, so the code is not mine. 114,treeview.zipThis code can as many child nodes to a tree view control and can save the data and structure of the treeview control in a text file. Later the data and structure can be retrieved from the text file and filled in the tree view control by clicking the load button. 115,alarm_clock.zipIt simulates an alarm clock. 116,DesktopByAlexDrankus.zipThis program hides/shows desktop, hides/shows taskbar, hides it self from the ctrl+alt+delete, uses pictures to create the forms (pretty cool forms) and many other functions just place this program and all components in a sub-folder 117,Label3D.zipLabel3D lets you change the Label Face Color Shadow Color ON/OFF Shadow. 118,HotLinks.zip Custom Control which acts like a text box, except the developer can specify hot links in the control which act like web page links allowing users to click them, while allowing the developer full control over the result of the click. 119,custbutt.zipThis application shows how to create non rectangular buttons. 120,grid.zipComplete grid coded in vb. supports : locked rows/columns , fg/bg colors , text alignment , cell-edge styles , different selectionstyles . texbox/dropdown cells , cell icons and lots more... 121,analogmeter.zipCreate your own analog meters using MSPaint. These .bmp or .gif files become your meter face. Use the (analogmeter) subroutine to automatically draw the meter needle over the meter face 122,wheel.zipSpinWheel control to be used in place of either the UpDown control or the ScrollBar control.123,ArielBrowseFolder.zipA browse folder control resembling a combobox. When the dropdown button is clicked, browse through a folder treeview to select a directory. Uses the SHBrowseForFolder function, amongst other APIs. A call back procedure is implemented showing the currently selected folder in the browse for folder dialog. 124,pp_prj.zipThis program shows you how to create a sample project that adds print preview capabilities to your Visual Basic program by using a generic object and the Printer object. 125,popup.zipPopUp buttons with only 4 lines of code. 126,adbevel.zipThe bevel control in Delphi is now available in VB. 127,rainbow.zipCool! Have a ProgressBar like in InstallShield!With free selectable fore- and backcolor and the percent value displayed in the middle!Check it out.128,gb12.zipWell folks. Another version of Gold Button is here. I've added a few things. Here they are: Property descriptions, MaskColor, UseMask, Base Address in OCX, picture will now automatically align with text and when you are in desing mode and OnUp property is bsNone, a Dash-Dot-Dot box is drawn over the button, so you can see th button's area. 129,gb11.zipA new version of Gold Button is here dudes.New version has Picture Property and Skin Support. 130,BIGDOGMEDIA.zipMEDIA PLAYER THAT SUPPORTS FORMATS LIKE MP3,AVI,MPEG,WAV ECT.EXAMPLE OF USING ANIMATION WHEN PLAYER IS LAUNCHED. 131,HTML.zipAn HTML editor with complete VB source code. 132,PrintPreview1.zipPrint Setup, and Print Priview application. 133,RTFEditor.zipRTF text editor, HTML text editor, web browser, and more...Try it. Note, make sure your printer is turned on before running the application. 134,VBExplorer-II.zipVBExplorer file utility application. This application uses the Visual Basic TreeView and ListView controls to create a file management application similar to Windows Explorer.135,resizepic.zipShows how to resize a picture box control on a form at run time.
1 , vb5dialog.zipThis demonstrates how to subclass the Common Dialog Dialogs and manipulate a specific Dialog.2 , cpnl.zipForm_Taskbar is a control for Visual Basic which, once placed onto a form, makes the form act like the Taskbar (minus the Start Menu).3 , vbo_progbar.zipImplement a common control progress bar with added features that are not accessable using COMCTL32.OCX! 4 , vbo_infolabel.zipThis control adds a great user-friendly interface with and icon and "Hover" ability. Based on a control seen in ICQ. 5 , vbo_checkcombo.zipAdd a checkbox to a combo box and use it to enabled/disable the combo! or whatever you would like to do with it! 6 , vbo_controlframe.zipCreate your own system button such as a Maximize, Minimize, Close, and many others with ease! 7 , vbo_ctextbox.zipThis class makes using the Textbox or Edit class API simple. Easily set properties and access many features not available directly from VB. 8 , taskbar.zipForm_Taskbar is a control for Visual Basic which, once placed onto a form, makes the form act like the Taskbar (minus the Start Menu).9 , NT_Service.zipThis is an OCX that allows you to create an NT service application...add the control to your project and register it as a service!!10 , Scroller.zipThis is a Control Container, it's like a frame control but it lets you scroll the content up and down...11 , TrayArea.zipThis control lets you add your icon to the System Tray Area and handle some events such as MouseMove, MouseDown, MouseUp and DblClick.12 , Resizer.zipThis is a very useful control: It's a container control, you can insert two controls inside and then you'll have a vertical (or horizontal) resizer bar (like the Windows File Explorer). A resizer can contain another resizer... an so on. (you can divide you form in as many sizable sections as you want...).13 , Label3D.zipTh

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值