KiXforms Forum Index KiXforms
The Forum for the KiXforms Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 Quick Links 
Site News
Downloads
Documentation
Donations
Script Archive
Tracking Systems

Fun With Printers

 
Post new topic   Reply to topic    KiXforms Forum Index -> KiXforms.NET Discussion
View previous topic :: View next topic  
Author Message
benny69
KiXforms Advocate
KiXforms Advocate


Joined: 30 Oct 2003
Posts: 567
Location: Lincoln, Ne

PostPosted: Tue Feb 21, 2006 8:19 pm    Post subject: Fun With Printers Reply with quote

Have you ever wanted to purge the Print Que on a network printer?
This script was writen to function on a network with shared printers.
Code:

;region Setup Variables
$Title = "Purge Print Que..."
$BuildVer = '1.0.1.0'
$Version = " Build($BuildVer)"

$objRootDSE = GetObject("LDAP://rootDSE")
$defaultNamingContext = $objRootDSE.Get("defaultNamingContext")

Break On
$System = CreateObject("Kixforms.System")
If Not $System
   $nul= MessageBox("KiXforms.Net Not Initiated. This Script Will Now Close.","Error",16)
   Quit()
EndIf
$nul = $System.Application.EnableVisualStyles

$SysVer = $System.ProductVersion
$MinSysVer = "3.1.29.0"
If $SysVer < $MinSysVer
   $nul= MessageBox("KiXforms.Net Version Installed ("+$SysVer+")."+@CRLF+"The Minimum Version that must be Installed is ("+$MinSysVer+"). "+@CRLF+"This Script Will Now Close.","Error",16)
   Quit()
EndIf
;endregion

;region Main Form
$Form = $System.Form()
$Form.StartPosition = 1  ;FormStartPosition_CenterScreen
$Form.Size = $System.Size(320,363) ;(Width,Height)
$Form.Text = $Title + $Version

;region StatusBar
$StatusBar = $System.StatusBar()
$StatusBar.Text = ""
$nul = $Form.Controls.Add($StatusBar)

$ProgressBar = $System.ProgressBar()
$ProgressBar.Left = $StatusBar.Width-$ProgressBar.Width-20
$ProgressBar.Top = 3
$ProgressBar.Height = $StatusBar.Height-4
$ProgressBar.Visible = 0
$nul = $StatusBar.Controls.Add($ProgressBar)
;endregion

$MainMenu = $System.MainMenu()

$File = $MainMenu.MenuItems.Add($System.MenuItem("File"))

$Exit = $File.MenuItems.Add($System.MenuItem("Exit"))
$Exit.Click = "ExitForm()"

$Tools = $MainMenu.MenuItems.Add($System.MenuItem("Tools"))

$Refresh = $Tools.MenuItems.Add($System.MenuItem("Refresh"))
$Refresh.Click = "SearchForPrinters()"

$Form.Menu = $MainMenu

$MainPanel = $System.Panel()
$MainPanel.Dock = 5  ;Fill
$nul = $Form.Controls.Add($MainPanel)

$RightPanel = $System.Panel()
$RightPanel.Dock = 5  ;Fill
$nul = $MainPanel.Controls.Add($RightPanel)

$Splitter = $System.Splitter()
$nul = $MainPanel.Controls.Add($Splitter)

$ListBox = $System.ListBox()
$ListBox.Click = "EnablePurge()"
$ListBox.Dock = 3  ;Left
$ListBox.Width = 213
$nul = $MainPanel.Controls.Add($ListBox)

$Cancel = $System.Button()
$Cancel.Click = "CancelPurge()"
$Cancel.DialogResult = 2  ;Cancel
$Cancel.FlatStyle = 3  ;System
$Cancel.Left = 10
$Cancel.Text = "Cancel"
$Cancel.Top = 10
$nul = $RightPanel.Controls.Add($Cancel)

$Purge = $System.Button()
$Purge.Click = "PurgePrintQue()"
$Purge.Enabled = 0
$Purge.FlatStyle = 3  ;System
$Purge.Left = 10
$Purge.Text = "Purge"
$Purge.Top = 40
$nul = $RightPanel.Controls.Add($Purge)

$Form.AcceptButton = $Purge
$Form.CancelButton = $Cancel
$Form.Show  ;Displays the Form

SearchForPrinters()

While $Form.Visible
   $Nul = Execute($Form.DoEvents())
Loop
Exit 0
;endregion

Function ExitForm()
   Quit()
EndFunction

Function AdvanceProgressBar($Step,Optional $Text)
   
   $Count = $Count + $Step
   If $Count > 100
      $Count = 0
   EndIf
   $StatusBar.Text = $Text
   $ProgressBar.Value = $Count
   Sleep 0.05
   
EndFunction

Function SearchForPrinters()
   
   $ProgressBar.Visible = -1
   $ListBox.Items.Clear
   If $Purge.Enabled = -1
      $Purge.Enabled = 0
   EndIf
   
   $ADS_SCOPE_SUBTREE = 2
   $objConnection = CreateObject("ADODB.Connection")
   $objCommand = CreateObject("ADODB.Command")
   $objConnection.Provider = "ADsDSOObject"
   $objConnection.Open("Active Directory Provider")
   $objCommand.ActiveConnection = $objConnection
   $objCommand.CommandText = "Select url from 'LDAP://$defaultNamingContext' where objectClass='printQueue' "
   $objCommand.Properties("Page Size",1000)
   $objCommand.Properties("Searchscope",$ADS_SCOPE_SUBTREE)
   $objRecordSet = $objCommand.Execute
   $objRecordSet.MoveFirst
   Do
      $url = $objRecordSet.Fields("url").Value
      For Each $Item in $url
         $Period = InStr($Item,".")
         If $Period > 0
            $Array1 = Split($Item,"//")
            $Array2 = Split($Array1[1],".")
            $ServerName = $Array2[0]
            $Array3 = Split($Array2[2],"/")
            $ShareName = $Array3[1]
            $PrinterShareName = "\\" + $ServerName + "\" + $ShareName
            AdvanceProgressBar(10,$PrinterShareName)
            $ListItem = $ListBox.Items.Add($PrinterShareName)
         EndIf
      Next
      $objRecordSet.MoveNext
   Until $objRecordSet.EOF
   
   ;Object cleanup
   $objConnection = 0
   $objCommand = 0
   $objRecordSet = 0
   
   $Count = 0
   AdvanceProgressBar(0,"")
   $ProgressBar.Visible = 0
   
EndFunction

Function EnablePurge()
   
   $Item = $ListBox.SelectedItem
   If $Item
      $Purge.Enabled = -1
   Else
      $Purge.Enabled = 0
   EndIf
   
EndFunction

Function CancelPurge()
   
   $ListBox.SetSelected(0,0)
   If $Purge.Enabled = -1
      $Purge.Enabled = 0
   EndIf
   
EndFunction

Function PurgePrintQue()

   $Item = $ListBox.SelectedItem
   $Array = Split($Item,"\")
   
   $strComputer = $Array[2]
   $PrinterName = $Array[3]
   
   $objWMIService = GetObject("winmgmts:\\" + $strComputer + "\root\cimv2")
   $colInstalledPrinters = $objWMIService.ExecQuery("Select * from Win32_Printer Where ShareName = '$PrinterName'")
   
   For Each $objPrinter in $colInstalledPrinters
      $= $objPrinter.CancelAllJobs()
   Next

   $ListBox.SetSelected(0,0)
   If $Purge.Enabled = -1
      $Purge.Enabled = 0
   EndIf
   
EndFunction



_________________
Wait don't order yet,... get KiXforms Designer .NET 2.0 (Beta)
KiXforms Designer .NET 2.0 (Beta)


Last edited by benny69 on Tue Feb 21, 2006 8:37 pm; edited 3 times in total
Back to top
View user's profile Send private message Send e-mail
benny69
KiXforms Advocate
KiXforms Advocate


Joined: 30 Oct 2003
Posts: 567
Location: Lincoln, Ne

PostPosted: Tue Feb 21, 2006 8:21 pm    Post subject: Reply with quote

here is a snapshot.


Purge.JPG
 Description:
 Filesize:  29.74 KB
 Viewed:  1419 Time(s)

Purge.JPG



_________________
Wait don't order yet,... get KiXforms Designer .NET 2.0 (Beta)
KiXforms Designer .NET 2.0 (Beta)
Back to top
View user's profile Send private message Send e-mail
Shawn
KiXforms Developer
KiXforms Developer


Joined: 22 Feb 2003
Posts: 1983
Location: Canada

PostPosted: Tue Feb 21, 2006 8:22 pm    Post subject: Reply with quote

Hey Benny, the top part of your post got messed-up the $System = CreateObject... bit is missing ...
Back to top
View user's profile Send private message
benny69
KiXforms Advocate
KiXforms Advocate


Joined: 30 Oct 2003
Posts: 567
Location: Lincoln, Ne

PostPosted: Tue Feb 21, 2006 8:30 pm    Post subject: Reply with quote

ooops, missed the 'Setup Variables' region. edited,... all better now.
thanks shawn for the quick catch, that is why i chose you to help me take over the world.

_________________
Wait don't order yet,... get KiXforms Designer .NET 2.0 (Beta)
KiXforms Designer .NET 2.0 (Beta)
Back to top
View user's profile Send private message Send e-mail
Shawn
KiXforms Developer
KiXforms Developer


Joined: 22 Feb 2003
Posts: 1983
Location: Canada

PostPosted: Wed Feb 22, 2006 12:12 am    Post subject: Reply with quote

bah - it uses LDAP and i'm working at home these days - will have to wait till i get back into work :0(
Back to top
View user's profile Send private message
benny69
KiXforms Advocate
KiXforms Advocate


Joined: 30 Oct 2003
Posts: 567
Location: Lincoln, Ne

PostPosted: Wed Feb 22, 2006 6:32 pm    Post subject: Reply with quote

Here is a new ver, it allows you to delete a single or all print jobs in the print que for a shared network printer:
Code:

;region Setup Variables
$Title = "Purge Print Que..."
$BuildVer = '1.0.2.0'
$Version = " Build($BuildVer)"

$objRootDSE = GetObject("LDAP://rootDSE")
$defaultNamingContext = $objRootDSE.Get("defaultNamingContext")

Break On
$System = CreateObject("Kixforms.System")
If Not $System
   $nul= MessageBox("KiXforms.Net Not Initiated. This Script Will Now Close.","Error",16)
   Quit()
EndIf
$nul = $System.Application.EnableVisualStyles

$SysVer = $System.ProductVersion
$MinSysVer = "3.1.29.0"
If $SysVer < $MinSysVer
   $nul= MessageBox("KiXforms.Net Version Installed ("+$SysVer+")."+@CRLF+"The Minimum Version that must be Installed is ("+$MinSysVer+"). "+@CRLF+"This Script Will Now Close.","Error",16)
   Quit()
EndIf
;endregion

;region Main Form
$Form = $System.Form()
$Form.StartPosition = 1  ;FormStartPosition_CenterScreen
$Form.Size = $System.Size(775,353) ;(Width,Height)
$Form.Text = $Title + $Version

$MainPanel = $System.Panel()
$MainPanel.Dock = 5  ;Fill
$nul = $Form.Controls.Add($MainPanel)

;region MainMenu
$MainMenu = $System.MainMenu()

$File = $MainMenu.MenuItems.Add($System.MenuItem("File"))

$Exit = $File.MenuItems.Add($System.MenuItem("Exit"))
$Exit.Click = "ExitForm()"

$Tools = $MainMenu.MenuItems.Add($System.MenuItem("Tools"))

$Refresh = $Tools.MenuItems.Add($System.MenuItem("Refresh"))
$Refresh.Click = "SearchForPrinters()"

$Form.Menu = $MainMenu
;endregion

$ListView = $System.ListView()
$ListView.CheckBoxes = -1  ;True
$ListView.Dock = 5  ;Fill
$ListView.FullRowSelect = -1  ;True
$ListView.View = $System.View_Details
$nul = $MainPanel.Controls.Add($ListView)

$Column0 = $ListView.Columns.Add($System.ColumnHeader("Document Name",100,$System.HorizontalAlignment_Left))
$Column1 = $ListView.Columns.Add($System.ColumnHeader("Status",60,$System.HorizontalAlignment_Left))
$Column2 = $ListView.Columns.Add($System.ColumnHeader("Owner",60,$System.HorizontalAlignment_Left))
$Column3 = $ListView.Columns.Add($System.ColumnHeader("Pages",50,$System.HorizontalAlignment_Left))
$Column4 = $ListView.Columns.Add($System.ColumnHeader("Size",60,$System.HorizontalAlignment_Left))
$Column5 = $ListView.Columns.Add($System.ColumnHeader("Submitted",120,$System.HorizontalAlignment_Left))

$RightPanel = $System.Panel()
$RightPanel.Dock = 4  ;Right
$nul = $MainPanel.Controls.Add($RightPanel)

$Splitter = $System.Splitter()
$nul = $MainPanel.Controls.Add($Splitter)

$ListBox = $System.ListBox()
$ListBox.Click = "EnablePurge()"
$ListBox.Dock = 3  ;Left
$ListBox.Width = 213
$nul = $MainPanel.Controls.Add($ListBox)

;region StatusBar
$StatusBar = $System.StatusBar()
$StatusBar.Text = ""
$nul = $MainPanel.Controls.Add($StatusBar)

$ProgressBar = $System.ProgressBar()
$ProgressBar.Left = $StatusBar.Width-$ProgressBar.Width-20
$ProgressBar.Top = 3
$ProgressBar.Height = $StatusBar.Height-4
$ProgressBar.Visible = 0
$nul = $StatusBar.Controls.Add($ProgressBar)
;endregion

$Cancel = $System.Button()
$Cancel.Click = "CancelPurge()"
$Cancel.DialogResult = 2  ;Cancel
$Cancel.FlatStyle = 3  ;System
$Cancel.Left = 10
$Cancel.Text = "Cancel"
$Cancel.Top = 10
$nul = $RightPanel.Controls.Add($Cancel)

$SelectAll = $System.Button()
$SelectAll.Click = "SelectAll()"
$SelectAll.Enabled = 0
$SelectAll.FlatStyle = 3  ;System
$SelectAll.Left = 10
$SelectAll.Text = "Select All"
$SelectAll.Top = $Cancel.Bottom+10
$nul = $RightPanel.Controls.Add($SelectAll)

$Purge = $System.Button()
$Purge.Click = "PurgePrintQue()"
$Purge.Enabled = 0
$Purge.FlatStyle = 3  ;System
$Purge.Left = 10
$Purge.Text = "Purge"
$Purge.Top = $SelectAll.Bottom+10
$nul = $RightPanel.Controls.Add($Purge)

$RightPanel.Width = $Purge.Width+20

$Form.AcceptButton = $Purge
$Form.CancelButton = $Cancel
$Form.Show  ;Displays the Form

SearchForPrinters()

While $Form.Visible
   $Nul = Execute($Form.DoEvents())
Loop
Exit 0
;endregion

Function ExitForm()
   Quit()
EndFunction

Function AdvanceProgressBar($Step,Optional $Text)
   
   $Count = $Count + $Step
   If $Count > 100
      $Count = 0
   EndIf
   $StatusBar.Text = $Text
   $ProgressBar.Value = $Count
   Sleep 0.05
   
EndFunction

Function SearchForPrinters()
   
   $ProgressBar.Visible = -1
   $ListBox.Items.Clear
   If $Purge.Enabled = -1
      $Purge.Enabled = 0
      $SelectAll.Enabled = 0
   EndIf
   
   $ADS_SCOPE_SUBTREE = 2
   $objConnection = CreateObject("ADODB.Connection")
   $objCommand = CreateObject("ADODB.Command")
   $objConnection.Provider = "ADsDSOObject"
   $objConnection.Open("Active Directory Provider")
   $objCommand.ActiveConnection = $objConnection
   $objCommand.CommandText = "Select url from 'LDAP://$defaultNamingContext' where objectClass='printQueue' "
   $objCommand.Properties("Page Size",1000)
   $objCommand.Properties("Searchscope",$ADS_SCOPE_SUBTREE)
   $objRecordSet = $objCommand.Execute
   $objRecordSet.MoveFirst
   Do
      $url = $objRecordSet.Fields("url").Value
      For Each $Item in $url
         $Period = InStr($Item,".")
         If $Period > 0
            $Array1 = Split($Item,"//")
            $Array2 = Split($Array1[1],".")
            $ServerName = $Array2[0]
            $Array3 = Split($Array2[2],"/")
            $ShareName = $Array3[1]
            $PrinterShareName = "\\" + $ServerName + "\" + $ShareName
            AdvanceProgressBar(10,$PrinterShareName)
            $ListItem = $ListBox.Items.Add($PrinterShareName)
         EndIf
      Next
      $objRecordSet.MoveNext
   Until $objRecordSet.EOF
   
   ;Object cleanup
   $objConnection = 0
   $objCommand = 0
   $objRecordSet = 0
   
   $Count = 0
   AdvanceProgressBar(0,"")
   $ProgressBar.Visible = 0
   
EndFunction

Function EnablePurge()
   
   $Item = $ListBox.SelectedItem
   If $Item
      GetPrintQue()
   EndIf
   
EndFunction

Function CancelPurge()
   
   $ListBox.SetSelected(0,0)
   $ListView.Items.Clear
   If $Purge.Enabled = -1
      $Purge.Enabled = 0
      $SelectAll.Enabled = 0
   EndIf
   
EndFunction

Function PurgePrintQue()
   
   $Index = 0
   $Item = $ListBox.SelectedItem
   $Array = Split($Item,"\")
   
   $strComputer = $Array[2]
   $PrinterName = $Array[3]
   
   $objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" + $strComputer + "\root\cimv2")
   $objPrinter = $objWMIService.ExecQuery("Select * from Win32_Printer")
   For Each $objPrinterName in $objPrinter
      If $objPrinterName.ShareName = $ShareName
         $PrinterName = $objPrinterName.Name
      EndIf
   Next
   
   $objPrintJobs = $objWMIService.ExecQuery("Select * from Win32_PrintJob",,48)
   For Each $objPrintJob in $objPrintJobs
      $objName = $objPrintJob.Name
      $Array = Split($objName,",")
      $PName = $Array[0]
      If $PName = $PrinterName
         $Item = $ListView.Items.Item($Index)
         If $Item.Checked; = -1  ;True
            $objPrintJob.Delete_
         EndIf
         $Index = $Index + 1
      EndIf
   Next
   
   $ListView.Items.Clear
   $ListBox.SetSelected(0,0)
   If $Purge.Enabled = -1
      $Purge.Enabled = 0
      $SelectAll.Enabled = 0
   EndIf
   
EndFunction

Function GetPrintQue()

   $ListView.Items.Clear
   $Item = $ListBox.SelectedItem
   $Array = Split($Item,"\")
   
   $strComputer = $Array[2]
   $ShareName = $Array[3]
   
   $objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" + $strComputer + "\root\cimv2")
   $objPrinter = $objWMIService.ExecQuery("Select * from Win32_Printer")
   For Each $objPrinterName in $objPrinter
      If $objPrinterName.ShareName = $ShareName
         $PrinterName = $objPrinterName.Name
      EndIf
   Next
   
   $objPrintJobs = $objWMIService.ExecQuery("Select * from Win32_PrintJob",,48)
   For Each $objPrintJob in $objPrintJobs
      $objName = $objPrintJob.Name
      $Array = Split($objName,",")
      $PName = $Array[0]
      If $PName = $PrinterName
         $Item = $ListView.Items.Add($System.ListViewItem($objPrintJob.Document))
         $ItemIndex = $Item.Index
         If $objPrintJob.Status = "UNKNOWN"
            $Item = $ListView.Items.Item($ItemIndex).SubItems.Add($System.ListViewSubItem(""))
         Else
            $Item = $ListView.Items.Item($ItemIndex).SubItems.Add($System.ListViewSubItem($objPrintJob.Status))
         EndIf
         $Item = $ListView.Items.Item($ItemIndex).SubItems.Add($System.ListViewSubItem($objPrintJob.Owner))
         $Item = $ListView.Items.Item($ItemIndex).SubItems.Add($System.ListViewSubItem($objPrintJob.TotalPages))
         $Item = $ListView.Items.Item($ItemIndex).SubItems.Add($System.ListViewSubItem($objPrintJob.Size))
         $TimeSubmitted = $objPrintJob.TimeSubmitted
         $year = SubStr($TimeSubmitted,1,4)
         $month = SubStr($TimeSubmitted,5,2)
         $day = SubStr($TimeSubmitted,7,2)
         $hour = SubStr($TimeSubmitted,9,2)
         $min = SubStr($TimeSubmitted,11,2)
         $sec = SubStr($TimeSubmitted,13,2)
         $Submitted = $hour+":"+$min+":"+$sec+" "+$month+"/"+$day+"/"+$year
         $Item = $ListView.Items.Item($ItemIndex).SubItems.Add($System.ListViewSubItem($Submitted))
      EndIf
   Next
   If $ListView.Items.Count > 0
      $Purge.Enabled = -1
      $SelectAll.Enabled = -1
   Else
      $Purge.Enabled = 0
      $SelectAll.Enabled = 0
   EndIf
   
EndFunction

Function SelectAll()
   
   For Each $Item in $ListView.Items
      $Item.Checked = -1  ;True
   Next
   
EndFunction

_________________
Wait don't order yet,... get KiXforms Designer .NET 2.0 (Beta)
KiXforms Designer .NET 2.0 (Beta)


Last edited by benny69 on Wed Feb 22, 2006 7:14 pm; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail
benny69
KiXforms Advocate
KiXforms Advocate


Joined: 30 Oct 2003
Posts: 567
Location: Lincoln, Ne

PostPosted: Wed Feb 22, 2006 6:34 pm    Post subject: Reply with quote

here is a new snapshot:


Purge2.JPG
 Description:
 Filesize:  46.07 KB
 Viewed:  1524 Time(s)

Purge2.JPG



_________________
Wait don't order yet,... get KiXforms Designer .NET 2.0 (Beta)
KiXforms Designer .NET 2.0 (Beta)
Back to top
View user's profile Send private message Send e-mail
Shawn
KiXforms Developer
KiXforms Developer


Joined: 22 Feb 2003
Posts: 1983
Location: Canada

PostPosted: Wed Feb 22, 2006 6:37 pm    Post subject: Reply with quote

Shocked NICE!
Back to top
View user's profile Send private message
masken
KiXforms Enthusiast
KiXforms Enthusiast


Joined: 14 Mar 2003
Posts: 202
Location: Gothenburg, Sweden

PostPosted: Mon Feb 27, 2006 9:00 pm    Post subject: Reply with quote

nice indeed Smile
Back to top
View user's profile Send private message MSN Messenger
Jochen
KiXforms Devotee
KiXforms Devotee


Joined: 05 Mar 2003
Posts: 1204
Location: Stuttgart, Germany

PostPosted: Tue Feb 28, 2006 9:34 am    Post subject: Reply with quote

Eh,

I had that fun already in a former project: Enabling our call center agents to purge queues (NT 4 Printservers) over ISDN speed connection across Europe ... They had so much fun while waiting for the printer data to be even shown, that they pass the task back to Ops Mr. Green

_________________
Jochen

Tell me, and I will forget.
Show me, and I may remember.
Involve me, and I will understand.
Back to top
View user's profile Send private message MSN Messenger
ntdoc
KiXforms Supporter
KiXforms Supporter


Joined: 05 Mar 2003
Posts: 77
Location: Mouse Country

PostPosted: Wed Mar 08, 2006 8:45 am    Post subject: Reply with quote

Thanks Benny, sorry for getting back so late on this. I don't visit KF as much as I should Embarassed
Back to top
View user's profile Send private message Visit poster's website AIM Address MSN Messenger
Rod
KiXforms Webmaster
KiXforms Webmaster


Joined: 22 Feb 2003
Posts: 202
Location: United Kingdom

PostPosted: Wed Mar 08, 2006 3:58 pm    Post subject: Reply with quote

Well shame on you Ron Wink

Rod.

_________________
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ntdoc
KiXforms Supporter
KiXforms Supporter


Joined: 05 Mar 2003
Posts: 77
Location: Mouse Country

PostPosted: Thu Mar 09, 2006 2:56 am    Post subject: Reply with quote

Sorry Rod - I'll try to do better.
Back to top
View user's profile Send private message Visit poster's website AIM Address MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    KiXforms Forum Index -> KiXforms.NET Discussion All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group