-
Posts
108 -
Joined
-
Last visited
Content Type
Forums
Downloads
Forum Articles
Events
Everything posted by MachinistProgrammer
-
is my computer fried
MachinistProgrammer replied to MachinistProgrammer's topic in AutoIt General Help and Support
Windows XP Home Edition service pack 3 X86 (But it says that in the really long report) -
you know the >explorer frame udf i just put autoit onto my computer started an example1.au3 and autoit spat this error code "-1073741819" here is report by HWinfo about my computer (Its really long winded) HWiNFO32 Version 4.26-2020 SEAN-F80A4A0F35 ----------------------------------------------------------- [Current Computer] Computer Name: SEAN-F80A4A0F35 Computer Brand Name: Dell System GX270 [Operating System] Operating System: Microsoft Windows XP Home Edition Build 2600 Service Pack: Service Pack 3 Central Processor(s) ------------------------------------------------------ [CPU Unit Count] Number Of Processor Packages (Physical): 1 Number Of Processors Cores: 1 Number Of Logical Processors: 2 Intel Pentium 4 2.80C GHz ------------------------------------------------- [General Information] Processor Name: Intel Pentium 4 2.80C GHz Original Processor Frequency: 2800.0 MHz Original Processor Frequency [MHz]: 2800 CPU ID: 00000F29 CPU Brand Name: Intel(R) Pentium(R) 4 CPU 2.80GHz CPU Vendor: GenuineIntel CPU Stepping: D1 CPU Code Name: Northwood CPU S-Spec: SL6WJ, SL6WT, SL78Y CPU Thermal Design Power (TDP): 69.7 W CPU Max. Case Temperature (Tcase_max): 75 °C CPU Type: Production Unit CPU Platform: Socket 478 FC-PGA2 (mPGA478B) Microcode Update Revision: 2E Number of CPU Cores: 1 Number of Logical CPUs: 2 [Operating Points] CPU LFM (Minimum): 2800.0 MHz = 14.00 x 200.0 MHz CPU HFM (Maximum): 2800.0 MHz = 14.00 x 200.0 MHz [Locked] CPU Current: 2791.5 MHz = 14.00 x 199.4 MHz CPU Bus Type: FSB (QDR) [Cache and TLB] L1 Cache: Instruction Trace: 12K uOps, Data: 8 KBytes L2 Cache: Integrated: 512 KBytes Instruction TLB: 4KB/2MB/4MB Pages, Fully associative, 64 entries Data TLB: 4KB/4MB Pages, Fully associative, 64 entries [Standard Feature Flags] FPU on Chip Present Enhanced Virtual-86 Mode Present I/O Breakpoints Present Page Size Extensions Present Time Stamp Counter Present Pentium-style Model Specific Registers Present Physical Address Extension Present Machine Check Exception Present CMPXCHG8B Instruction Present APIC On Chip / PGE (AMD) Present Fast System Call Present Memory Type Range Registers Present Page Global Feature Present Machine Check Architecture Present CMOV Instruction Present Page Attribute Table Present 36-bit Page Size Extensions Present Processor Number Not Present CLFLUSH Instruction Present Debug Trace and EMON Store Present Internal ACPI Support Present MMX Technology Present Fast FP Save/Restore (IA MMX-2) Present Streaming SIMD Extensions Present Streaming SIMD Extensions 2 Present Self-Snoop Present Multi-Threading Capable Present Automatic Clock Control Present IA-64 Processor Not Present Signal Break on FERR Present Streaming SIMD Extensions 3 Not Present Carryless Multiplication (PCLMULQDQ)/GFMUL Not Present 64-Bit Debug Store Not Present MONITOR/MWAIT Support Not Present CPL Qualified Debug Store Not Present Virtual Machine Extensions Not Present Safer Mode Extensions (Intel TXT) Not Present Thermal Monitor 2 Not Present Supplemental Streaming SIMD Extensions 3 Not Present Enhanced SpeedStep Technology Not Present L1 Context ID Present IA32 Debug Interface Support Not Present Fused Multiply Add Not Present CMPXCHG16B Support Not Present Send Task Priority Messages Disabling Present Performance/Debug Capability MSR Not Present Processor Context ID Not Present Direct Cache Access Not Present Streaming SIMD Extensions 4.1 Not Present Streaming SIMD Extensions 4.2 Not Present Extended xAPIC Not Present MOVBE Instruction Not Present POPCNT Instruction Not Present TSC-deadline Timer Not Present AES Cryptography Support Not Present XSAVE/XRSTOR/XSETBV/XGETBV Instructions Not Present XGETBV/XSETBV OS Enabled Not Present AVX Support Not Present Float16 Instructions Not Present Random Number Read Instruction Not Present [Extended Feature Flags] 64-bit Extensions Not Present RDTSCP and TSC_AUX Support Not Present 1 GB large page support Not Present No Execute Not Present SYSCALL/SYSRET Support Not Present [Enhanced Features] Thermal Monitor 1: Supported, Enabled Thermal Monitor 2: Not Supported Enhanced Intel SpeedStep (GV3): Not Supported Bi-directional PROCHOT#: N/A Extended Auto-HALT State C1E: N/A Extended Stop Grant State C2E: N/A Enhanced Halt State C3E: N/A Enhanced Halt State C4E: N/A Enhanced Halt State Hard C4E: N/A Hardware Prefetcher: Supported, Enabled DCU Prefetcher: Not Supported IP Prefetcher: Not Supported Adjacent Cache Line Prefetch: Supported, Enabled MLC Streamer Prefetcher Not Supported MLC Spatial Prefetcher Not Supported DCU Streamer Prefetcher Not Supported DCU IP Prefetcher Not Supported Intel Dynamic Acceleration (IDA) Technology: Not Supported Intel Dynamic FSB Switching: Not Supported Enhanced Multi Threaded Thermal Management: N/A Intel Turbo Boost Technology: Not Supported Programmable Ratio Limits: Not Supported Programmable TDC/TDP Limits: Not Supported [Memory Ranges] Maximum Physical Address Size: 36-bit (64 GBytes) Maximum Virtual Address Size: 32-bit (4 GBytes) [MTRRs] Range 0-40000000 (0MB-1024MB) Type: Write Back (WB) Range 40000000-50000000 (1024MB-1280MB) Type: Write Back (WB) Range 4F800000-50000000 (1272MB-1280MB) Type: Uncacheable (UC) Motherboard --------------------------------------------------------------- [Computer] Computer Brand Name: Dell System GX270 [Motherboard] Motherboard Model: DELL 0R2472 Motherboard Chipset: Intel 865G (Springdale-G) + ICH5 Motherboard Slots: 2xPCI, 1xAGP USB Version Supported: v2.0 [BIOS] BIOS Manufacturer: Phoenix Technologies BIOS Date: 06/26/06 BIOS Version: A07 EFI BIOS: Not Capable Super-IO/LPC Chip: SMSC EMC2700P Plug-and-Play System Nodes ------------------------------------------------ System Board Extension ---------------------------------------------------- [General Information] Node Number: 0 Device ID: PNP0C01 Device Name: System Board Extension Device Type Code: 050000 [System Resources] I/O Port: 0800 I/O Port: 0C00 I/O Port: 0062 I/O Port: 0065 I/O Port: 00E0 Memory Location: 00000000-0009FFFF Memory Location: 00100000-4F76FFFF Memory Location: FFB00000-FFFFFFFF Memory Location: 000F0000-000FFFFF [Flags] Removable Device: Not Present Docking: Not Supported IPL: Not Supported Primary Input Device: Not Capable Primary Output Device: Not Capable Configurable Device: Not Supported Disableable Device: Not Supported 16550A-compatible UART Serial Port ---------------------------------------- [General Information] Node Number: 1 Device ID: PNP0501 Device Name: 16550A-compatible UART Serial Port Device Type Code: 070002 [System Resources] IRQ: 4 I/O Port: 03F8 [Flags] Removable Device: Not Present Docking: Not Supported IPL: Not Supported Primary Input Device: Not Capable Primary Output Device: Not Capable Configurable Device: Supported Disableable Device: Supported ECP Parallel Port --------------------------------------------------------- [General Information] Node Number: 3 Device ID: PNP0401 Device Name: ECP Parallel Port Device Type Code: 070102 [System Resources] IRQ: 7 DMA: 3 I/O Port: 0378 I/O Port: 0778 [Flags] Removable Device: Not Present Docking: Not Supported IPL: Not Supported Primary Input Device: Not Capable Primary Output Device: Not Capable Configurable Device: Supported Disableable Device: Supported Floppy Controller --------------------------------------------------------- [General Information] Node Number: 4 Device ID: PNP0700 Device Name: Floppy Controller Device Type Code: 010200 [System Resources] IRQ: 6 DMA: 2 I/O Port: 03F0 [Flags] Removable Device: Not Present Docking: Not Supported IPL: Supported Primary Input Device: Not Capable Primary Output Device: Not Capable Configurable Device: Supported Disableable Device: Supported PCI Bus ------------------------------------------------------------------- [General Information] Node Number: 6 Device ID: PNP0A03 Device Name: PCI Bus Device Type Code: 060400 [System Resources] I/O Port: 0CF8 [Flags] Removable Device: Not Present Docking: Not Supported IPL: Not Supported Primary Input Device: Not Capable Primary Output Device: Not Capable Configurable Device: Not Supported Disableable Device: Not Supported Programmable Interrupt Controller ----------------------------------------- [General Information] Node Number: 7 Device ID: PNP0000 Device Name: Programmable Interrupt Controller Device Type Code: 080001 [System Resources] IRQ: 2 I/O Port: 0020 I/O Port: 00A0 I/O Port: 04D0 [Flags] Removable Device: Not Present Docking: Not Supported IPL: Not Supported Primary Input Device: Not Capable Primary Output Device: Not Capable Configurable Device: Not Supported Disableable Device: Not Supported APIC ---------------------------------------------------------------------- [General Information] Node Number: 8 Device ID: PNP0003 Device Name: APIC Device Type Code: 088000 [System Resources] Memory Location: FEE00000-FEE0FFFF Memory Location: FEC00000-FEC0FFFF [Flags] Removable Device: Not Present Docking: Not Supported IPL: Not Supported Primary Input Device: Not Capable Primary Output Device: Not Capable Configurable Device: Not Supported Disableable Device: Not Supported Motherboard Resources ----------------------------------------------------- [General Information] Node Number: 9 Device ID: PNP0C02 Device Name: Motherboard Resources Device Type Code: 050000 [System Resources] Memory Location: FED20000-FED8FFFF Memory Location: FECF0000-FECF0FFF [Flags] Removable Device: Not Present Docking: Not Supported IPL: Not Supported Primary Input Device: Not Capable Primary Output Device: Not Capable Configurable Device: Not Supported Disableable Device: Not Supported System Timer -------------------------------------------------------------- [General Information] Node Number: 10 Device ID: PNP0100 Device Name: System Timer Device Type Code: 080201 [System Resources] IRQ: 0 I/O Port: 0040 [Flags] Removable Device: Not Present Docking: Not Supported IPL: Not Supported Primary Input Device: Not Capable Primary Output Device: Not Capable Configurable Device: Not Supported Disableable Device: Not Supported DMA Controller ------------------------------------------------------------ [General Information] Node Number: 11 Device ID: PNP0200 Device Name: DMA Controller Device Type Code: 080101 [System Resources] DMA: 4 I/O Port: 0080 I/O Port: 0000 I/O Port: 00C0 [Flags] Removable Device: Not Present Docking: Not Supported IPL: Not Supported Primary Input Device: Not Capable Primary Output Device: Not Capable Configurable Device: Not Supported Disableable Device: Not Supported 101/102-Key or MS Natural Keyboard ---------------------------------------- [General Information] Node Number: 12 Device ID: PNP0303 Device Name: 101/102-Key or MS Natural Keyboard Device Type Code: 090000 [System Resources] IRQ: 1 I/O Port: 0060 I/O Port: 0064 [Flags] Removable Device: Not Present Docking: Not Supported IPL: Not Supported Primary Input Device: Capable Primary Output Device: Not Capable Configurable Device: Not Supported Disableable Device: Not Supported PC Speaker ---------------------------------------------------------------- [General Information] Node Number: 13 Device ID: PNP0800 Device Name: PC Speaker Device Type Code: 088000 [System Resources] I/O Port: 0061 [Flags] Removable Device: Not Present Docking: Not Supported IPL: Not Supported Primary Input Device: Not Capable Primary Output Device: Not Capable Configurable Device: Not Supported Disableable Device: Not Supported RealTime Clock ------------------------------------------------------------ [General Information] Node Number: 14 Device ID: PNP0B00 Device Name: RealTime Clock Device Type Code: 080301 [System Resources] IRQ: 8 I/O Port: 0070 [Flags] Removable Device: Not Present Docking: Not Supported IPL: Not Supported Primary Input Device: Not Capable Primary Output Device: Not Capable Configurable Device: Not Supported Disableable Device: Not Supported Numeric Data Processor ---------------------------------------------------- [General Information] Node Number: 15 Device ID: PNP0C04 Device Name: Numeric Data Processor Device Type Code: 088000 [System Resources] IRQ: 13 I/O Port: 00F0 [Flags] Removable Device: Not Present Docking: Not Supported IPL: Not Supported Primary Input Device: Not Capable Primary Output Device: Not Capable Configurable Device: Not Supported Disableable Device: Not Supported Motherboard Resources ----------------------------------------------------- [General Information] Node Number: 16 Device ID: PNP0C02 Device Name: Motherboard Resources Device Type Code: 088000 [System Resources] Memory Location: 4F770000-4F7FFFFF [Flags] Removable Device: Not Present Docking: Not Supported IPL: Not Supported Primary Input Device: Not Capable Primary Output Device: Not Capable Configurable Device: Not Supported Disableable Device: Not Supported ACPI Devices -------------------------------------------------------------- ACPI Fixed Feature Button ------------------------------------------------- Device Name: ACPI Fixed Feature Button Intel Processor ----------------------------------------------------------- Device Name: Intel Processor Intel Processor ----------------------------------------------------------- Device Name: Intel Processor Programmable interrupt controller ----------------------------------------- Device Name: Programmable interrupt controller [Assigned Resources] I/O Port: 0020 - 003F I/O Port: 00A0 - 00BF I/O Port: 04D0 - 04D1 [Alternative 1] I/O Port: 0020 - 003F I/O Port: 00A0 - 00BF I/O Port: 04D0 - 04D1 System timer -------------------------------------------------------------- Device Name: System timer [Assigned Resources] I/O Port: 0040 - 005F IRQ: 0 [Alternative 1] I/O Port: 0040 - 005F IRQ: 0 Direct memory access controller ------------------------------------------- Device Name: Direct memory access controller [Assigned Resources] I/O Port: 0080 - 009F I/O Port: 0000 - 001F I/O Port: 00C0 - 00DF DMA: 4 [Alternative 1] I/O Port: 0080 - 009F I/O Port: 0000 - 001F I/O Port: 00C0 - 00DF DMA: 4 ECP Printer Port ---------------------------------------------------------- Device Name: ECP Printer Port [Assigned Resources] I/O Port: 0378 - 037F I/O Port: 0778 - 077F IRQ: 7 DMA: 3 [Alternative 1] I/O Port: 0378 - 037F I/O Port: 0778 - 077F IRQ: 7 [Alternative 2] I/O Port: 0278 - 027F I/O Port: 0678 - 067F IRQ: 5 [Alternative 3] I/O Port: 0378 - 037F I/O Port: 0778 - 077F IRQ: 3 IRQ: 4 IRQ: 5 IRQ: 6 IRQ: 7 IRQ: 12 [Alternative 4] I/O Port: 0378 - 037F I/O Port: 0778 - 077F IRQ: 3 IRQ: 4 IRQ: 5 IRQ: 6 IRQ: 7 IRQ: 12 DMA: 1 DMA: 2 DMA: 3 [Alternative 5] I/O Port: 0278 - 027F I/O Port: 0678 - 067F IRQ: 3 IRQ: 4 IRQ: 5 IRQ: 6 IRQ: 7 IRQ: 12 [Alternative 6] I/O Port: 0278 - 027F I/O Port: 0678 - 067F IRQ: 3 IRQ: 4 IRQ: 5 IRQ: 6 IRQ: 7 IRQ: 12 DMA: 1 DMA: 2 DMA: 3 [Alternative 7] I/O Port: 0378 - 037F I/O Port: 0778 - 077F [Alternative 8] I/O Port: 0278 - 027F I/O Port: 0678 - 067F [Alternative 9] I/O Port: 03BC - 03BF I/O Port: 07BC - 07BF [Alternative 10] I/O Port: 03BC - 03BF I/O Port: 07BC - 07BF IRQ: 7 Communications Port ------------------------------------------------------- Device Name: Communications Port [Assigned Resources] I/O Port: 03F8 - 03FF IRQ: 4 [Alternative 1] I/O Port: 03F8 - 03FF IRQ: 4 [Alternative 2] I/O Port: 03E8 - 03EF IRQ: 4 [Alternative 3] I/O Port: 02F8 - 02FF IRQ: 3 [Alternative 4] I/O Port: 02E8 - 02EF IRQ: 3 Standard floppy disk controller ------------------------------------------- Device Name: Standard floppy disk controller [Assigned Resources] I/O Port: 03F0 - 03F5 I/O Port: 03F7 IRQ: 6 DMA: 2 [Alternative 1] I/O Port: 03F0 - 03F5 I/O Port: 03F7 IRQ: 6 DMA: 2 [Alternative 2] I/O Port: 03F0 - 03F5 I/O Port: 03F7 IRQ: 3 IRQ: 4 IRQ: 5 IRQ: 6 IRQ: 7 IRQ: 12 DMA: 1 DMA: 2 DMA: 3 [Alternative 3] I/O Port: 0370 - 0375 I/O Port: 0377 IRQ: 3 IRQ: 4 IRQ: 5 IRQ: 6 IRQ: 7 IRQ: 12 DMA: 1 DMA: 2 DMA: 3 System speaker ------------------------------------------------------------ Device Name: System speaker [Assigned Resources] I/O Port: 0061 [Alternative 1] I/O Port: 0061 PCI bus ------------------------------------------------------------------- Device Name: PCI bus [Assigned Resources] I/O Port: 0000 - 0CF7 I/O Port: 0D00 - FFFF Memory Location: 000A0000 - 000BFFFF Memory Location: 80000000 - FEBFFFFF [Alternative 1] I/O Port: 0000 - 0CF7 I/O Port: 0D00 - FFFF Memory Location: 000A0000 - 000BFFFF Memory Location: 80000000 - FEBFFFFF System CMOS/real time clock ----------------------------------------------- Device Name: System CMOS/real time clock [Assigned Resources] I/O Port: 0070 - 007F IRQ: 8 [Alternative 1] I/O Port: 0070 - 007F IRQ: 8 System board -------------------------------------------------------------- Device Name: System board [Assigned Resources] Memory Location: 00000000 - 0009FFFF Memory Location: 00100000 - 00FFFFFF Memory Location: 01000000 - 4F76FFFF Memory Location: 000C0000 - 000FFFFF Memory Location: FEC00000 - FEC0FFFF Memory Location: FEE00000 - FEE0FFFF Memory Location: FED20000 - FED8FFFF Memory Location: FECF0000 - FECF0FFF Memory Location: FFB00000 - FFBFFFFF Memory Location: FFC00000 - FFFFFFFF [Alternative 1] Memory Location: 00000000 - 0009FFFF Memory Location: 00100000 - 00FFFFFF Memory Location: 01000000 - 4F76FFFF Memory Location: 000C0000 - 000FFFFF Memory Location: FEC00000 - FEC0FFFF Memory Location: FEE00000 - FEE0FFFF Memory Location: FED20000 - FED8FFFF Memory Location: FECF0000 - FECF0FFF Memory Location: FFB00000 - FFBFFFFF Memory Location: FFC00000 - FFFFFFFF System board -------------------------------------------------------------- Device Name: System board [Assigned Resources] I/O Port: 0060 I/O Port: 0064 I/O Port: 0062 - 0063 I/O Port: 0065 - 006F I/O Port: 00E0 - 00EF I/O Port: 0800 - 085F I/O Port: 0C00 - 0C7F I/O Port: 0860 - 08FF [Alternative 1] I/O Port: 0060 I/O Port: 0064 I/O Port: 0062 - 0063 I/O Port: 0065 - 006F I/O Port: 00E0 - 00EF I/O Port: 0800 - 085F I/O Port: 0C00 - 0C7F I/O Port: 0860 - 08FF Numeric data processor ---------------------------------------------------- Device Name: Numeric data processor [Assigned Resources] I/O Port: 00F0 - 00FF IRQ: 13 [Alternative 1] I/O Port: 00F0 - 00FF IRQ: 13 ACPI Power Button --------------------------------------------------------- Device Name: ACPI Power Button SMBIOS DMI ---------------------------------------------------------------- BIOS ---------------------------------------------------------------------- BIOS Vendor: Dell Computer Corporation BIOS Version: A07 BIOS Release Date: 06/26/2006 BIOS Start Segment: F000 BIOS Size: 512 KBytes ISA Support: Not Present MCA Support: Not Present EISA Support: Not Present PCI Support: Present PC Card (PCMCIA) Support: Not Present Plug-and-Play Support: Present APM Support: Present Flash BIOS: Present BIOS Shadow: Present VL-VESA Support: Not Present ESCD Support: Present Boot from CD: Present Selectable Boot: Present BIOS ROM Socketed: Not Present Boot from PC Card: Not Present EDD Support: Present NEC PC-98 Support: Not Present ACPI Support: Present USB Legacy Support: Present AGP Support: Present I2O Boot Support: Not Present LS-120 Boot Support: Present ATAPI ZIP Drive Boot Support: Not Present IEE1394 Boot Support: Not Present Smart Battery Support: Not Present BIOS Boot Specification Support: Present Function key-initiated Network Service Boot Support: Present Targeted Content Distribution Support: Not Present UEFI Specification Support: Not Present System -------------------------------------------------------------------- System Manufacturer: Dell Computer Corporation Product Name: OptiPlex GX270 Product Version: Unknown Product Serial Number: DW98B1S UUID: {4C4C4544-0057-3910-3880-C4C04F423153} Mainboard ----------------------------------------------------------------- Mainboard Manufacturer: Dell Computer Corp. Mainboard Name: 0R2472 Mainboard Version: Mainboard Serial Number: ..CN6453544R01A3. System Enclosure ---------------------------------------------------------- Manufacturer: Dell Computer Corporation Case Type: Desktop Version: Unknown Serial Number: DW98B1S Asset Tag Number: Processor ----------------------------------------------------------------- Processor Manufacturer: Intel Processor Version: Unknown External Clock: 800 MHz Maximum Clock Supported: 3600 MHz Current Clock: 2800 MHz CPU Socket: Populated CPU Status: Enabled Processor Type: Central Processor Processor Voltage: 1.5 V Processor Upgrade: ZIF Socket Designation: Microprocessor Unknown ------------------------------------------------------------------- Socket Designation: Unknown Cache State: Enabled Cache Type: Internal, Data Cache Scheme: Write-Back Supported SRAM Type: Current SRAM Type: Cache Speed: Unknown Error Correction Type: Unknown Maximum Cache Size: 16 KBytes Installed Cache Size: 8 KBytes Cache Associativity: 4-way Set-Associative Unknown ------------------------------------------------------------------- Socket Designation: Unknown Cache State: Enabled Cache Type: Internal, Unified Cache Scheme: Write-Through and Write-Back Supported SRAM Type: Current SRAM Type: Cache Speed: Unknown Error Correction Type: Maximum Cache Size: 512 KBytes Installed Cache Size: 512 KBytes Cache Associativity: Unknown Port Connectors ----------------------------------------------------------- Parallel Port PS/2 -------------------------------------------------------- Port Type: Parallel Port PS/2 Internal Reference: PARALLEL Internal Connector Type: None External Reference: Unknown External Connector Type: DB25 pin female Serial Port 16550A Compatible --------------------------------------------- Port Type: Serial Port 16550A Compatible Internal Reference: SERIAL1 Internal Connector Type: None External Reference: Unknown External Connector Type: DB-9 pin male Keyboard Port ------------------------------------------------------------- Port Type: Keyboard Port Internal Reference: KYBD Internal Connector Type: None External Reference: Unknown External Connector Type: PS/2 Mouse Port ---------------------------------------------------------------- Port Type: Mouse Port Internal Reference: MOUSE Internal Connector Type: None External Reference: Unknown External Connector Type: PS/2 USB ----------------------------------------------------------------------- Port Type: USB Internal Reference: USB1 Internal Connector Type: None External Reference: Unknown External Connector Type: Access Bus (USB) USB ----------------------------------------------------------------------- Port Type: USB Internal Reference: USB2 Internal Connector Type: None External Reference: Unknown External Connector Type: Access Bus (USB) USB ----------------------------------------------------------------------- Port Type: USB Internal Reference: USB3 Internal Connector Type: None External Reference: Unknown External Connector Type: Access Bus (USB) USB ----------------------------------------------------------------------- Port Type: USB Internal Reference: USB4 Internal Connector Type: None External Reference: Unknown External Connector Type: Access Bus (USB) USB ----------------------------------------------------------------------- Port Type: USB Internal Reference: USB5 Internal Connector Type: None External Reference: Unknown External Connector Type: Access Bus (USB) USB ----------------------------------------------------------------------- Port Type: USB Internal Reference: USB6 Internal Connector Type: None External Reference: Unknown External Connector Type: Access Bus (USB) USB ----------------------------------------------------------------------- Port Type: USB Internal Reference: USB7 Internal Connector Type: None External Reference: Unknown External Connector Type: Access Bus (USB) USB ----------------------------------------------------------------------- Port Type: USB Internal Reference: USB8 Internal Connector Type: None External Reference: Unknown External Connector Type: Access Bus (USB) Network Port -------------------------------------------------------------- Port Type: Network Port Internal Reference: ENET Internal Connector Type: None External Reference: Unknown External Connector Type: RJ-45 Audio Port ---------------------------------------------------------------- Port Type: Audio Port Internal Reference: MIC Internal Connector Type: None External Reference: Unknown External Connector Type: Mini-jack (headphones) Audio Port ---------------------------------------------------------------- Port Type: Audio Port Internal Reference: LINE-OUT Internal Connector Type: None External Reference: Unknown External Connector Type: Mini-jack (headphones) Audio Port ---------------------------------------------------------------- Port Type: Audio Port Internal Reference: LINE-IN Internal Connector Type: None External Reference: Unknown External Connector Type: Mini-jack (headphones) Audio Port ---------------------------------------------------------------- Port Type: Audio Port Internal Reference: HP-OUT Internal Connector Type: None External Reference: Unknown External Connector Type: Mini-jack (headphones) Video Port ---------------------------------------------------------------- Port Type: Video Port Internal Reference: MONITOR Internal Connector Type: None External Reference: Unknown External Connector Type: DB-15 pin female System Slots -------------------------------------------------------------- PCI1 ---------------------------------------------------------------------- Slot Designation: PCI1 Slot Type: PCI Slot Usage: In use Slot Data Bus Width: 32-bit Slot Length: Long PCI2 ---------------------------------------------------------------------- Slot Designation: PCI2 Slot Type: PCI Slot Usage: Empty Slot Data Bus Width: 32-bit Slot Length: Long AGP1 ---------------------------------------------------------------------- Slot Designation: AGP1 Slot Type: AGP 8X Slot Usage: Empty Slot Data Bus Width: 32-bit Slot Length: Long On Board Device ----------------------------------------------------------- Device Description: Intel 865-G PCI Accelerated SVGA Device Type: Video Adapter Device Status: Enabled On Board Device ----------------------------------------------------------- Device Description: Intel Pro 1000 MT Network Connection Device Type: Ethernet Adapter Device Status: Enabled On Board Device ----------------------------------------------------------- Device Description: AC'97 Audio Controller Device Type: Audio Device Device Status: Enabled OEM Strings --------------------------------------------------------------- BIOS Language ------------------------------------------------------------- System Event Log ---------------------------------------------------------- Memory Devices ------------------------------------------------------------ Physical Memory Array ----------------------------------------------------- Array Location: System board Array Use: System memory Error Detecting Method: None Memory Capacity: 4194304 KBytes Memory Devices: 4 Memory Device ------------------------------------------------------------- Total Width: 64 bits Data Width: 64 bits Device Size: 512 MBytes Device Form Factor: DIMM Device Locator: DIMM_1 Bank Locator: Unknown Device Type: SDRAM Device Type Detail: Synchronous Memory Speed: 266 MHz Memory Device ------------------------------------------------------------- Total Width: 64 bits Data Width: 64 bits Device Size: 0 MBytes Device Form Factor: DIMM Device Locator: DIMM_2 Bank Locator: Unknown Device Type: SDRAM Device Type Detail: Synchronous Memory Speed: 266 MHz Memory Device ------------------------------------------------------------- Total Width: 64 bits Data Width: 64 bits Device Size: 512 MBytes Device Form Factor: DIMM Device Locator: DIMM_3 Bank Locator: Unknown Device Type: SDRAM Device Type Detail: Synchronous Memory Speed: 266 MHz Memory Device ------------------------------------------------------------- Total Width: 64 bits Data Width: 64 bits Device Size: 256 MBytes Device Form Factor: DIMM Device Locator: DIMM_4 Bank Locator: Unknown Device Type: SDRAM Device Type Detail: Synchronous Memory Speed: 266 MHz Memory Array Mapped Address ----------------------------------------------- Starting Address: 00000000 Ending Address: 0013FFFF Partition Width: 1 Memory Device Mapped Address ---------------------------------------------- Starting Address: 00000000 Ending Address: 0007FFFF Partition Row Position: 1 Interleave Position: Non-interleaved Interleave Data Depth: 0 Memory Device Mapped Address ---------------------------------------------- Starting Address: 00080000 Ending Address: 000FFFFF Partition Row Position: 1 Interleave Position: Non-interleaved Interleave Data Depth: 0 Memory Device Mapped Address ---------------------------------------------- Starting Address: 00100000 Ending Address: 0013FFFF Partition Row Position: 1 Interleave Position: Non-interleaved Interleave Data Depth: 0 Hardware Security --------------------------------------------------------- Power-on Password: Enabled Keyboard Password: Not implemented Administrator Password: Enabled Front Panel Reset: Not implemented System Power Controls ----------------------------------------------------- Cooling Device ------------------------------------------------------------ Type: Fan Status: OK Boot Integrity Services --------------------------------------------------- System Boot Information --------------------------------------------------- Boot Status: No error occured Intel ASF ----------------------------------------------------------------- Intel ASF Status: Enabled Memory -------------------------------------------------------------------- [General information] Total Memory Size: 1271 MBytes Total Memory Size [MB]: 1271 [Current Performance Settings] Current Memory Clock: 132.9 MHz (2 : 3 ratio) Current Timing (tCAS-tRCD-tRP-tRAS): 2.5-3-3-6 Memory Runs At: Single-Channel Row: 0 - 512 MB PC2100 DDR-SDRAM Micron Tech. 16VDDT6464AG-265C4 ---------- [General Module Information] Module Number: 0 Module Size: 512 MBytes Memory Type: DDR-SDRAM Error Check/Correction: None Memory Speed: 133.3 MHz (PC2100) Module Manufacturer: Micron Tech. Module Model: 16VDDT6464AG-265C4 Serial Number: 3997696383 Manufacturing Date: Year: 2003, Week: 32 [Module Characteristics] Module Width: 64-bits Module Voltage: SSTL 2.5V SPD Revision: 1.0 Number Of Rows: 2 Row Address Bits: Bank 1: 13, Bank 2: 13 Column Address Bits: Bank 1: 10, Bank 2: 10 Number Of Banks: 4 [Module timing] Supported Burst Lengths: 2, 4, 8 Refresh Rate: Reduced 0.5x (7.8 us) Min. Back-to-Back Clock Delay: 1 Supported CAS Latencies (tCAS): 2.5, 2.0 Min. RAS-to-CAS Delay (tRCD): 20.00 ns Min. Row Precharge Time (tRP): 20.00 ns Min. RAS Pulse Width (tRAS): 45 ns Supported Module Timing at 133.3 MHz: 2.5-3-3-6 Supported Module Timing at 100.0 MHz: 2.0-2-2-5 Min. Row-Activate To Row-Activate Delay (tRRD): 15.00 ns Supported CS Latency: 0 Supported WE Latency: 1 [Features] Buffered Address/Control Inputs: Not Supported Registered Address/Control Inputs: Not Supported On-card PLL For Clock: Not Supported Buffered DQMB Inputs: Not Supported Registered DQMB Inputs: Not Supported Differential Clock Input: Supported Redundant Row Address: Not Supported Row: 2 - 256 MB PC3200 DDR-SDRAM Kingston KT326667-041-INCE5 -------------- [General Module Information] Module Number: 2 Module Size: 256 MBytes Memory Type: DDR-SDRAM Error Check/Correction: None Memory Speed: 200.0 MHz (PC3200) Module Manufacturer: Kingston Module Model: KT326667-041-INCE5 Serial Number: 57358962 Manufacturing Date: Year: 2005, Week: 39 [Module Characteristics] Module Width: 64-bits Module Voltage: SSTL 2.5V SPD Revision: N/A Number Of Rows: 1 Row Address Bits: 13 Column Address Bits: 10 Number Of Banks: 4 [Module timing] Supported Burst Lengths: 2, 4, 8 Refresh Rate: Reduced 0.5x (7.8 us) Min. Back-to-Back Clock Delay: 1 Supported CAS Latencies (tCAS): 3.0, 2.5, 2.0 Min. RAS-to-CAS Delay (tRCD): 14.00 ns Min. Row Precharge Time (tRP): 14.00 ns Min. RAS Pulse Width (tRAS): 40 ns Supported Module Timing at 200.0 MHz: 3.0-3-3-8 Supported Module Timing at 166.7 MHz: 2.5-3-3-7 Supported Module Timing at 133.3 MHz: 2.0-2-2-6 Min. Row-Activate To Row-Activate Delay (tRRD): 10.00 ns Supported CS Latency: 0 Supported WE Latency: 1 [Features] Buffered Address/Control Inputs: Not Supported Registered Address/Control Inputs: Not Supported On-card PLL For Clock: Not Supported Buffered DQMB Inputs: Not Supported Registered DQMB Inputs: Not Supported Differential Clock Input: Supported Redundant Row Address: Not Supported Bus ----------------------------------------------------------------------- PCI Bus #0 ---------------------------------------------------------------- Intel 82865G/P/PE Memory Controller Hub [A-2] ----------------------------- [General Information] Device Name: Intel 82865G/P/PE Memory Controller Hub [A-2] Original Device Name: Intel 82865G/P/PE Memory Controller Hub [A-2] Device Class: Host-to-PCI Bridge Revision ID: 2 Bus Number: 0 Device Number: 0 Function Number: 0 PCI Latency Timer: 0 Hardware ID: PCI\VEN_8086&DEV_2570&SUBSYS_01511028&REV_02 [System Resources] Interrupt Line: N/A Interrupt Pin: N/A Memory Base Address 0 F0000000 [Features] Bus Mastering: Enabled Running At 66 MHz: Not Capable Fast Back-to-Back Transactions: Capable [Driver Information] Driver Manufacturer: Intel Driver Description: Intel(R) 82865G/PE/P/GV/82848P Processor to I/O Controller - 2570 Driver Provider: Microsoft Driver Version: 5.1.2600.5512 Driver Date: 01-Jul-2001 DeviceInstanceId PCI\VEN_8086&DEV_2570&SUBSYS_00000000&REV_02\3&172E68DD&0&00 [AGP Miscellaneous Configuration] Aperture Access Global: Disabled [Graphics Control [865G only]] Graphics Mode: UMA: 8 MB Memory pre-allocated Integrated Graphics: Enabled IGD VGA: Enabled [CSA Basic Control] CSA Device: Disabled [FSB PLL Clock Control] Memory and Memory I/O DLL Clock Gate: Enabled Graphics Activate [865G only]: On Propagate Internal Graphics [865G only]: Disabled FSB PLL Sync: Enabled Memory Clock Gate: Enabled [Programmable Attribute Map] Segment F000-FFFF: Read-only Segment C000-C3FF: Read-only Segment C400-C7FF: Read-only Segment C800-CBFF: Read-only Segment CC00-CFFF: No access Segment D000-D3FF: No access Segment D400-D7FF: No access Segment D800-DBFF: No access Segment DC00-DFFF: No access Segment E000-E3FF: No access Segment E400-E7FF: No access Segment E800-EBFF: No access Segment EC00-EFFF: No access [Fixed DRAM Hole Control] Hole Enable: None [System Management RAM Control] SMM Space Open: No SMM Space Closed: No SMM Space Locked: No Global SMRAM Enable: Enabled SMM Space Base Segment: A000-BFFF [Extended SMRAM Control] High SMRAM: Disabled SMRAM Caching: Enabled L1 Caching of SMRAM: Enabled L2 Caching of SMRAM: Enabled TSEG Size: 128K TSEG: Disabled [AGP Status] Max. AGP Request Queue Depth: 31 Optimum Async Request Size: 64 B Calibration Cycle Setting: 4 ms Side Band Addressing: Supported >4G Support: Not supported Fast Write: Supported Signaling Mode: AGP 2.0 (1.5V) Supported AGP Data Transfer: 1x, 2x and 4x [AGP Command] Calibration Cycle Setting: 4 ms Sideband Addressing: Disabled AGP Status: Disabled >4G Support: Disabled Fast Write: Disabled Current AGP Transfer Rate: None [AGP Control] GTLB: Disabled 4x Override: Disabled [Aperture Size Control] Graphics Aperture Size: 128M [Aperture Translation Table] Aperture Translation Table Base: 0 [AGP Multi-Transaction Timer] Multi-Transaction Timer: 4 PCLKs [Low Priority Multi-Transaction Timer] Multi-Transaction Timer: 2 PCLKs [Top of DRAM] Top of DRAM: 4F800000 [(G)MCH Configuration] Number of Stop Grant Cycles: HI Stop Grant sent after 2 FSB Stop Grants System Memory Frequency: 133 MHz MDA: Absent AGP Mode: AGP In-Order Queue Depth: Maximum (12) FSB Frequency: 200 Mhz (800 QDR) Intel 82865G Graphics Controller [A-2] ------------------------------------ [General Information] Device Name: Intel 82865G Graphics Controller [A-2] Original Device Name: Intel 82865G Graphics Controller [A-2] Device Class: VGA Compatible Adapter Revision ID: 2 Bus Number: 0 Device Number: 2 Function Number: 0 PCI Latency Timer: 0 Hardware ID: PCI\VEN_8086&DEV_2572&SUBSYS_01511028&REV_02 [System Resources] Interrupt Line: IRQ16 Interrupt Pin: INTA# Memory Base Address 0 E8000000 Memory Base Address 1 FEB80000 I/O Base Address 2 ED98 [Features] Bus Mastering: Enabled Running At 66 MHz: Not Capable Fast Back-to-Back Transactions: Capable [Driver Information] Driver Manufacturer: Intel Corporation Driver Description: Intel(R) 82865G Graphics Controller Driver Provider: Intel Corporation Driver Version: 6.14.10.3762 Driver Date: 10-Feb-2004 DeviceInstanceId PCI\VEN_8086&DEV_2572&SUBSYS_01511028&REV_02\3&172E68DD&0&10 Intel 82865G/P/PE I/O Memory Interface [A-2] ------------------------------ [General Information] Device Name: Intel 82865G/P/PE I/O Memory Interface [A-2] Original Device Name: Intel 82865G/P/PE I/O Memory Interface [A-2] Device Class: Unknown Peripheral Device Revision ID: 2 Bus Number: 0 Device Number: 6 Function Number: 0 PCI Latency Timer: 0 Hardware ID: PCI\VEN_8086&DEV_2576&SUBSYS_00000000&REV_02 [System Resources] Interrupt Line: N/A Interrupt Pin: N/A Memory Base Address 0 FECF0000 [Features] Bus Mastering: Disabled Running At 66 MHz: Not Capable Fast Back-to-Back Transactions: Capable Intel 82801EB(M) ICH5(-M) - USB Controller [A-2/A-3] ---------------------- [General Information] Device Name: Intel 82801EB(M) ICH5(-M) - USB Controller [A-2/A-3] Original Device Name: Intel 82801EB(M) ICH5(-M) - USB Controller [A-2/A-3] Device Class: Universal Serial Bus (USB) Revision ID: 2 Bus Number: 0 Device Number: 29 Function Number: 0 PCI Latency Timer: 0 Hardware ID: PCI\VEN_8086&DEV_24D2&SUBSYS_01511028&REV_02 [System Resources] Interrupt Line: IRQ16 Interrupt Pin: INTA# I/O Base Address 4 FF80 [Features] Bus Mastering: Enabled Running At 66 MHz: Not Capable Fast Back-to-Back Transactions: Capable [Driver Information] Driver Manufacturer: Intel Driver Description: Intel(R) 82801EB USB Universal Host Controller - 24D2 Driver Provider: Microsoft Driver Version: 5.1.2600.5512 Driver Date: 01-Jul-2001 DeviceInstanceId PCI\VEN_8086&DEV_24D2&SUBSYS_01511028&REV_02\3&172E68DD&0&E8 [Serial Bus Release Number] USB Specification Release Number: 1.0 [Legacy Support] USB PIRQ: Enabled SMI At End Of A20GATE Pass-Through: Disabled A20GATE Pass-Through Sequence: Disabled Trap/SMI On USB IRQ: Disabled Trap/SMI On PORT 64h Write: Disabled Trap/SMI On PORT 64h Read: Disabled Trap/SMI On PORT 60h Write: Disabled Trap/SMI On PORT 60h Read: Disabled [USB Resume Enable] USB Port 1 Look At Wakeup Events: Enabled USB Port 0 Look At Wakeup Events: Enabled USB Root Hub -------------------------------------------------------------- [Port1] : No Device Connected --------------------------------------------- [Port2] : No Device Connected --------------------------------------------- Intel 82801EB(M) ICH5(-M) - USB Controller [A-2/A-3] ---------------------- [General Information] Device Name: Intel 82801EB(M) ICH5(-M) - USB Controller [A-2/A-3] Original Device Name: Intel 82801EB(M) ICH5(-M) - USB Controller [A-2/A-3] Device Class: Universal Serial Bus (USB) Revision ID: 2 Bus Number: 0 Device Number: 29 Function Number: 1 PCI Latency Timer: 0 Hardware ID: PCI\VEN_8086&DEV_24D4&SUBSYS_01511028&REV_02 [System Resources] Interrupt Line: IRQ19 Interrupt Pin: INTB# I/O Base Address 4 FF60 [Features] Bus Mastering: Enabled Running At 66 MHz: Not Capable Fast Back-to-Back Transactions: Capable [Driver Information] Driver Manufacturer: Intel Driver Description: Intel(R) 82801EB USB Universal Host Controller - 24D4 Driver Provider: Microsoft Driver Version: 5.1.2600.5512 Driver Date: 01-Jul-2001 DeviceInstanceId PCI\VEN_8086&DEV_24D4&SUBSYS_01511028&REV_02\3&172E68DD&0&E9 [Serial Bus Release Number] USB Specification Release Number: 1.0 [Legacy Support] USB PIRQ: Enabled SMI At End Of A20GATE Pass-Through: Disabled A20GATE Pass-Through Sequence: Disabled Trap/SMI On USB IRQ: Disabled Trap/SMI On PORT 64h Write: Disabled Trap/SMI On PORT 64h Read: Disabled Trap/SMI On PORT 60h Write: Disabled Trap/SMI On PORT 60h Read: Disabled [USB Resume Enable] USB Port 1 Look At Wakeup Events: Enabled USB Port 0 Look At Wakeup Events: Enabled USB Root Hub -------------------------------------------------------------- [Port1] : No Device Connected --------------------------------------------- [Port2] : No Device Connected --------------------------------------------- Intel 82801EB(M) ICH5(-M) - USB Controller [A-2/A-3] ---------------------- [General Information] Device Name: Intel 82801EB(M) ICH5(-M) - USB Controller [A-2/A-3] Original Device Name: Intel 82801EB(M) ICH5(-M) - USB Controller [A-2/A-3] Device Class: Universal Serial Bus (USB) Revision ID: 2 Bus Number: 0 Device Number: 29 Function Number: 2 PCI Latency Timer: 0 Hardware ID: PCI\VEN_8086&DEV_24D7&SUBSYS_01511028&REV_02 [System Resources] Interrupt Line: IRQ18 Interrupt Pin: INTC# I/O Base Address 4 FF40 [Features] Bus Mastering: Enabled Running At 66 MHz: Not Capable Fast Back-to-Back Transactions: Capable [Driver Information] Driver Manufacturer: Intel Driver Description: Intel(R) 82801EB USB Universal Host Controller - 24D7 Driver Provider: Microsoft Driver Version: 5.1.2600.5512 Driver Date: 01-Jul-2001 DeviceInstanceId PCI\VEN_8086&DEV_24D7&SUBSYS_01511028&REV_02\3&172E68DD&0&EA [Serial Bus Release Number] USB Specification Release Number: 1.0 [Legacy Support] USB PIRQ: Enabled SMI At End Of A20GATE Pass-Through: Disabled A20GATE Pass-Through Sequence: Disabled Trap/SMI On USB IRQ: Disabled Trap/SMI On PORT 64h Write: Disabled Trap/SMI On PORT 64h Read: Disabled Trap/SMI On PORT 60h Write: Disabled Trap/SMI On PORT 60h Read: Disabled [USB Resume Enable] USB Port 1 Look At Wakeup Events: Enabled USB Port 0 Look At Wakeup Events: Enabled USB Root Hub -------------------------------------------------------------- [Port1] : No Device Connected --------------------------------------------- [Port2] : No Device Connected --------------------------------------------- Intel 82801EB(M) ICH5(-M) - USB Controller [A-2/A-3] ---------------------- [General Information] Device Name: Intel 82801EB(M) ICH5(-M) - USB Controller [A-2/A-3] Original Device Name: Intel 82801EB(M) ICH5(-M) - USB Controller [A-2/A-3] Device Class: Universal Serial Bus (USB) Revision ID: 2 Bus Number: 0 Device Number: 29 Function Number: 3 PCI Latency Timer: 0 Hardware ID: PCI\VEN_8086&DEV_24DE&SUBSYS_01511028&REV_02 [System Resources] Interrupt Line: IRQ16 Interrupt Pin: INTA# I/O Base Address 4 FF20 [Features] Bus Mastering: Enabled Running At 66 MHz: Not Capable Fast Back-to-Back Transactions: Capable [Driver Information] Driver Manufacturer: Intel Driver Description: Intel(R) 82801EB USB Universal Host Controller - 24DE Driver Provider: Microsoft Driver Version: 5.1.2600.5512 Driver Date: 01-Jul-2001 DeviceInstanceId PCI\VEN_8086&DEV_24DE&SUBSYS_01511028&REV_02\3&172E68DD&0&EB [Serial Bus Release Number] USB Specification Release Number: 1.0 [Legacy Support] USB PIRQ: Enabled SMI At End Of A20GATE Pass-Through: Disabled A20GATE Pass-Through Sequence: Disabled Trap/SMI On USB IRQ: Disabled Trap/SMI On PORT 64h Write: Disabled Trap/SMI On PORT 64h Read: Disabled Trap/SMI On PORT 60h Write: Disabled Trap/SMI On PORT 60h Read: Disabled [USB Resume Enable] USB Port 1 Look At Wakeup Events: Enabled USB Port 0 Look At Wakeup Events: Enabled USB Root Hub -------------------------------------------------------------- [Port1] : Logitech USB Optical WheelMouse --------------------------------- [Device Information] [Driver Information] [Port2] : USB Human Interface Device -------------------------------------- [Device Information] [Driver Information] Intel 82801EB(M) ICH5(-M) - Enhanced USB2 Controller [A-2/A-3] ------------ [General Information] Device Name: Intel 82801EB(M) ICH5(-M) - Enhanced USB2 Controller [A-2/A-3] Original Device Name: Intel 82801EB(M) ICH5(-M) - Enhanced USB2 Controller [A-2/A-3] Device Class: Universal Serial Bus (USB) Revision ID: 2 Bus Number: 0 Device Number: 29 Function Number: 7 PCI Latency Timer: 0 Hardware ID: PCI\VEN_8086&DEV_24DD&SUBSYS_01511028&REV_02 [System Resources] Interrupt Line: IRQ23 Interrupt Pin: INTD# Memory Base Address 0 FEB7F400 [Features] Bus Mastering: Enabled Running At 66 MHz: Not Capable Fast Back-to-Back Transactions: Capable [Driver Information] Driver Manufacturer: Intel Driver Description: Intel(R) 82801EB USB2 Enhanced Host Controller - 24DD Driver Provider: Microsoft Driver Version: 5.1.2600.0 Driver Date: 01-Jun-2002 DeviceInstanceId PCI\VEN_8086&DEV_24DD&SUBSYS_01511028&REV_02\3&172E68DD&0&EF [USB Release Number] USB Specification Release Number: 2.0 [Frame Length Adjustment] Frame Length Timing Value: 512 [Port Wake Capability] Port 6 Wake Up: Capable Port 5 Wake Up: Capable Port 4 Wake Up: Capable Port 3 Wake Up: Capable Port 2 Wake Up: Capable Port 1 Wake Up: Capable Port Wake Status: Implemented [USB EHCI Legacy Support Extended Capability] HC OS Owned Semaphore: No HC BIOS Owned Semaphore: No [USB EHCI Legacy Support Extended Control / Status] SMI on BAR: Disabled SMI on PCI Command: Disabled SMI on OS Ownership: Disabled SMI on Async Advance: Disabled SMI on Host System Error: Disabled SMI on Frame List Rollover: Disabled SMI on Port Change: Disabled SMI on USB Error: Disabled SMI on USB Complete: Disabled [Intel Specific USB EHCI SMI] SMI Port 6 Owner: Disabled SMI Port 5 Owner: Disabled SMI Port 4 Owner: Disabled SMI Port 3 Owner: Disabled SMI Port 2 Owner: Disabled SMI Port 1 Owner: Disabled SMI on PMSCR: Disabled SMI on Async: Disabled SMI on Periodic: Disabled SMI on CF: Disabled SMI on HCHalted: Disabled SMI on HCReset: Disabled [Access Control] WRT_RDONLY: Disabled [USB HS Reference Voltage] USB HS Ref Voltage: 2A USB Root Hub -------------------------------------------------------------- [Port1] : No Device Connected --------------------------------------------- [Port2] : No Device Connected --------------------------------------------- [Port3] : No Device Connected --------------------------------------------- [Port4] : No Device Connected --------------------------------------------- [Port5] : No Device Connected --------------------------------------------- [Port6] : USB Mass Storage Device ----------------------------------------- [Device Information] [Driver Information] [Port7] : No Device Connected --------------------------------------------- [Port8] : No Device Connected --------------------------------------------- Intel 82801EB I/O Controller Hub 5 (ICH5) [A-2/A-3] ----------------------- [General Information] Device Name: Intel 82801EB I/O Controller Hub 5 (ICH5) [A-2/A-3] Original Device Name: Intel 82801EB I/O Controller Hub 5 (ICH5) [A-2/A-3] Device Class: PCI-to-PCI Bridge Revision ID: C2 Bus Number: 0 Device Number: 30 Function Number: 0 PCI Latency Timer: 0 Hardware ID: PCI\VEN_8086&DEV_244E&SUBSYS_00000000&REV_C2 [System Resources] Interrupt Line: N/A Interrupt Pin: N/A [Features] Bus Mastering: Enabled Running At 66 MHz: Not Capable Fast Back-to-Back Transactions: Capable [Driver Information] Driver Manufacturer: Intel Driver Description: Intel(R) 82801 PCI Bridge - 244E Driver Provider: Microsoft Driver Version: 5.1.2600.5512 Driver Date: 01-Jul-2001 DeviceInstanceId PCI\VEN_8086&DEV_244E&SUBSYS_00000000&REV_C2\3&172E68DD&0&F0 [Hub Interface 1 Command Control [ICH4/5]] Hub ID [ICH4]: 1 HP Unsupported [ICH5]: Disabled Hub Interface Timeslice: 0 Hub Interface Width: 8 bits Hub Interface Rate Valid: Yes Hub Interface Rate: 1:4 Maximum Data Bursts Per Packet: 64-byte [Secondary PCI Device Hiding [ICH6]] Device 7 Hide: Visible Device 6 Hide: Visible Device 5 Hide: Visible Device 4 Hide: Visible Device 3 Hide: Visible Device 2 Hide: Visible Device 1 Hide: Hidden Device 0 Hide: Visible [PCI Decode Policy [ICH6]] Subtractive Decode Policy: Disabled [Secondary PCI Device Hiding [ICH4/5]] Device 8 Hide: Hidden Device 7 Hide: Visible Device 6 Hide: Visible Device 5 Hide: Visible Device 4 Hide: Visible Device 3 Hide: Visible Device 2 Hide: Visible Device 1 Hide: Visible Device 0 Hide: Visible [Delayed Transaction Control [ICH6]] Discard Delayed Transactions: Disabled Block Delayed Transactions: Disabled Maximum Delayed Transactions: 2 Active, 5 pending Auto Flush After Disconnect: Disabled Never Prefetch: Disabled Memory Read Multiple Prefetch: Enabled Memory Read Line Prefetch: Enabled Memory Read Prefetch: Enabled [ICH/Policy Configuration [ICH2-ICH5]] Prefetch Flush [ICH5]: Enabled High Priority PCI: Disabled 15-16MB Hole: Disabled Discard Timer Mode [ICH2]: 1024 PCICLKs (32 us) 32-Clock Retry [ICH2]/12-Clock Retry [ICH3/4/5]: Enabled [Policy Configuration [ICH5]] Async Reads: 3 PCI Prefetch: 3 [Multi-Transaction Timer] Multi-Transaction Timer Count Value: 64 PCICLKs [Error Command] SERR# On Target Abort Receive: Disabled SERR# On Delayed Transaction Timeout: Disabled PCI Bus #1 ---------------------------------------------------------------- Broadcom BCM430G 802.11b/g Wireless NIC ----------------------------------- [General Information] Device Name: Broadcom BCM430G 802.11b/g Wireless NIC Original Device Name: Broadcom BCM430G 802.11b/g Wireless NIC Device Class: Unknown Network Adapter Revision ID: 3 Bus Number: 1 Device Number: 7 Function Number: 0 PCI Latency Timer: 64 Hardware ID: PCI\VEN_14E4&DEV_4320&SUBSYS_12F8103C&REV_03 [System Resources] Interrupt Line: IRQ16 Interrupt Pin: INTA# Memory Base Address 0 FEADE000 [Features] Bus Mastering: Enabled Running At 66 MHz: Not Capable Fast Back-to-Back Transactions: Not Capable [Driver Information] Driver Manufacturer: Broadcom Driver Description: Broadcom 802.11b/g WLAN Driver Provider: Broadcom Driver Version: 3.70.22.0 Driver Date: 20-Oct-2004 DeviceInstanceId PCI\VEN_14E4&DEV_4320&SUBSYS_12F8103C&REV_03\4&1C660DD6&0&38F0 Intel 82544XT PRO/1000 MT Desktop Adapter --------------------------------- [General Information] Device Name: Intel 82544XT PRO/1000 MT Desktop Adapter Original Device Name: Intel 82544XT PRO/1000 MT Desktop Adapter Device Class: Ethernet Adapter Revision ID: 2 Bus Number: 1 Device Number: 12 Function Number: 0 PCI Latency Timer: 64 Hardware ID: PCI\VEN_8086&DEV_100E&SUBSYS_01511028&REV_02 PCI-X Mode: PCI-X 66 [System Resources] Interrupt Line: IRQ18 Interrupt Pin: INTA# Memory Base Address 0 FEAE0000 I/O Base Address 2 DF40 [Features] Bus Mastering: Enabled Running At 66 MHz: Capable Fast Back-to-Back Transactions: Not Capable [Driver Information] Driver Manufacturer: Intel Driver Description: Intel(R) PRO/1000 MT Network Connection Driver Provider: Intel Driver Version: 7.0.34.2 Driver Date: 11-Jul-2003 DeviceInstanceId PCI\VEN_8086&DEV_100E&SUBSYS_01511028&REV_02\4&1C660DD6&0&60F0 Intel 82801EB ICH5 - LPC Bridge [A-2/A-3] --------------------------------- [General Information] Device Name: Intel 82801EB ICH5 - LPC Bridge [A-2/A-3] Original Device Name: Intel 82801EB ICH5 - LPC Bridge [A-2/A-3] Device Class: PCI-to-ISA Bridge Revision ID: 2 Bus Number: 0 Device Number: 31 Function Number: 0 PCI Latency Timer: 0 Hardware ID: PCI\VEN_8086&DEV_24D0&SUBSYS_00000000&REV_02 [System Resources] Interrupt Line: N/A Interrupt Pin: N/A [Features] Bus Mastering: Enabled Running At 66 MHz: Not Capable Fast Back-to-Back Transactions: Capable [Driver Information] Driver Manufacturer: Intel Driver Description: Intel(R) 82801EB LPC Interface Controller - 24D0 Driver Provider: Microsoft Driver Version: 5.1.2600.5512 Driver Date: 01-Jul-2001 DeviceInstanceId PCI\VEN_8086&DEV_24D0&SUBSYS_00000000&REV_02\3&172E68DD&0&F8 [ACPI Control] ACPI Base Address: 800 ACPI Status: Enabled SCI IRQ Select: IRQ9 [BIOS Control] BIOS Lock (SCI when BIOSWE=1): Disabled BIOS Write Enable: Disabled [TCO Control] TCO Interrupt: Disabled TCO Interrupt Select: IRQ9 [GPIO Control] GPIO Base Address: 880 GPIO State: Enabled [PIRQA Route Control] IRQ Routing: Disabled IRQ Number: 11 [PIRQB Route Control] IRQ Routing: Disabled IRQ Number: 3 [PIRQC Route Control] IRQ Routing: Disabled IRQ Number: 9 [PIRQD Route Control] IRQ Routing: Disabled IRQ Number: 10 [Serial IRQ Control] Serial IRQ: Enabled Serial IRQ Mode: Quiet mode Serial IRQ Frame Size: 21 Start Frame Pulse Width: 4 Clocks [PIRQE Route Control] IRQ Routing: Disabled IRQ Number: 0 [PIRQF Route Control] IRQ Routing: Disabled IRQ Number: 0 [PIRQG Route Control] IRQ Routing: Disabled IRQ Number: 0 [PIRQH Route Control] IRQ Routing: Disabled IRQ Number: 5 [PCI DMA Configuration] DMA CH7 Select: LPC I/F DMA DMA CH6 Select: LPC I/F DMA DMA CH5 Select: LPC I/F DMA DMA CH3 Select: LPC I/F DMA DMA CH2 Select: LPC I/F DMA DMA CH1 Select: LPC I/F DMA DMA CH0 Select: LPC I/F DMA [General Control] REQ[5]#/GNT[5]# PC/PCI Protocol: Disabled Hide ISA Bridge: Disabled HPET Address Decoding: Enabled HPET Address Select: FED0 0000h-FED0 03FFh Coprocessor Error (IRQ13): Enabled Keyboard IRQ1 Latch: Disabled Mouse IRQ12 Latch: Disabled Top_Swap Lock-Down: Disabled APIC: Enabled System Bus Message: Disabled IOAPIC Ints Alternate Access Mode: Disabled DMA Collection Buffer: Enabled Delayed Transaction: Enabled Positive Decode: Disabled [General Status] SAFE_MODE Multiplier: Disabled NO_REBOOT: Enabled [Backed Up Control] Top-Block Swap Mode (A16): Disabled Processor BIST: Disabled Processor Frequency Strap: 15 [RTC Configuration] Upper 128-byte Lock (U128LOCK): Disabled Lower 128-byte Lock (L128LOCK): Disabled Upper 128-byte Enable (U128E): Disabled [LPC I/F Communication Port Decode Ranges] COMB Decode Range: 3F8h-3FFh (COM1) COMA Decode Range: 3F8h-3FFh (COM1) [LPC I/F FDD & LPT Decode Ranges] FDD Decode Range: 3F0h-3F5h, 3F7h (Primary) LPT Decode Range: 278h-27Fh and 678h-67Fh [FWH Decode Enable 1] FWH_F8 Range Decode: Enabled FWH_F0 Range Decode: Enabled FWH_E8 Range Decode: Disabled FWH_E0 Range Decode: Disabled FWH_D8 Range Decode: Disabled FWH_D0 Range Decode: Disabled FWH_C8 Range Decode: Disabled FWH_C0 Range Decode: Disabled [LPC I/F Generic Decode Range 1] Generic I/O Decode Range 1 Base Address: C00 Generic I/O Decode Range 1 State: Enabled [LPC I/F Enables] CNF2 (I/O 4Eh-4Fh) Decode: Enabled CNF1 (I/O 2Eh-2Fh) Decode: Enabled MC (I/O 62h-66h) Decode: Disabled KBC (I/O 60h-64h) Decode: Enabled GAMEH (I/O 208h-20Fh) Decode: Disabled GAMEL (I/O 200h-207h) Decode: Disabled FDD Decode: Enabled LPT Decode: Enabled COMB Decode: Disabled COMA Decode: Enabled [Flash BIOS Select 1] FB_F8 IDSEL: 0 FB_F0 IDSEL: 0 FB_E8 IDSEL: 1 FB_E0 IDSEL: 1 FB_D8 IDSEL: 2 FB_D0 IDSEL: 2 FB_C8 IDSEL: 3 FB_C0 IDSEL: 3 [LPC I/F Generic Decode Range 2] Generic I/O Decode Range 2 Base Address: 0 Generic I/O Decode Range 2 Base State: Disabled [Flash BIOS Select 2] FB_70 IDSEL: 4 FB_60 IDSEL: 5 FB_50 IDSEL: 6 FB_40 IDSEL: 7 [Flash BIOS Decode Enable 2] FB_70_EN: Disabled FB_60_EN: Disabled FB_50_EN: Disabled FB_40_EN: Disabled [Function Disable] USB EHCI Controller: Enabled LPC Bridge: Enabled USB UHCI Controller #4: Enabled USB UHCI Controller #3: Enabled USB UHCI Controller #2: Enabled USB UHCI Controller #1: Enabled AC'97 Modem Controller: Disabled AC'97 Audio Controller: Enabled SMBus Host Controller: Enabled SATA Controller: Enabled IDE Controller: Enabled SMBus for BIOS: Disabled Intel 82801EB ICH5 - IDE Controller [A-2/A-3] ----------------------------- [General Information] Device Name: Intel 82801EB ICH5 - IDE Controller [A-2/A-3] Original Device Name: Intel 82801EB ICH5 - IDE Controller [A-2/A-3] Device Class: IDE Controller Revision ID: 2 Bus Number: 0 Device Number: 31 Function Number: 1 PCI Latency Timer: 0 Hardware ID: PCI\VEN_8086&DEV_24DB&SUBSYS_01511028&REV_02 [System Resources] Interrupt Line: IRQ9 Interrupt Pin: INTA# I/O Base Address 0 1F0 I/O Base Address 1 3F4 I/O Base Address 2 170 I/O Base Address 3 374 I/O Base Address 4 FFA0 Memory Base Address 5 FEB7FC00 [Features] Bus Mastering: Enabled Running At 66 MHz: Not Capable Fast Back-to-Back Transactions: Capable [Driver Information] Driver Manufacturer: Intel Driver Description: Intel(R) 82801EB Ultra ATA Storage Controllers - 24DB Driver Provider: Microsoft Driver Version: 5.1.2600.5512 Driver Date: 01-Jul-2001 DeviceInstanceId PCI\VEN_8086&DEV_24DB&SUBSYS_01511028&REV_02\3&172E68DD&0&F9 [IDE Timing Modes (Primary Channel)] IDE Decode: Enabled Slave IDE Timing Register: Enabled IORDY# Sample Point: 3 clocks Recovery Time: 1 clock DMA Timing Only (Drive 1): Disabled Prefetch And Posting (Drive 1): Disabled IORDY# Sample Point (Drive 1): Disabled Fast Timing Bank (Drive 1): Disabled DMA Timing Only (Drive 0): Disabled Prefetch And Posting (Drive 0): Enabled IORDY# Sample Point (Drive 0): Enabled Fast Timing Bank (Drive 0): Enabled [IDE Timing Modes (Secondary Channel)] IDE Decode: Enabled Slave IDE Timing Register: Enabled IORDY# Sample Point: 3 clocks Recovery Time: 1 clock DMA Timing Only (Drive 1): Disabled Prefetch And Posting (Drive 1): Disabled IORDY# Sample Point (Drive 1): Disabled Fast Timing Bank (Drive 1): Disabled DMA Timing Only (Drive 0): Disabled Prefetch And Posting (Drive 0): Disabled IORDY# Sample Point (Drive 0): Enabled Fast Timing Bank (Drive 0): Enabled [Slave IDE Timing] Secondary Drive 1 IORDY# Sample Point: 5 clocks Secondary Drive 1 Recovery Time: 4 clocks Primary Drive 1 IORDY# Sample Point: 5 clocks Primary Drive 1 Recovery Time: 4 clocks [Synchronous DMA Control] Primary Drive 0 Synchronous DMA: Enabled Primary Drive 1 Synchronous DMA: Disabled Secondary Drive 0 Synchronous DMA: Disabled Secondary Drive 1 Synchronous DMA: Disabled [Synchronous DMA Timing] Primary Drive 0 Cycle Time: CT=2, RP=4(33 MHz)/8(66 MHz) PCICLKs Primary Drive 1 Cycle Time: CT=4, RP=6 PCICLKs Secondary Drive 0 Cycle Time: CT=4, RP=6 PCICLKs Secondary Drive 1 Cycle Time: CT=4, RP=6 PCICLKs [IDE I/O Configuration] Secondary IDE Signal Mode: Normal (Enabled) Primary IDE Signal Mode: Normal (Enabled) Fast Primary Drive 0 Base Clock: Non-Ultra ATA/100 Timing Fast Primary Drive 1 Base Clock: Non-Ultra ATA/100 Timing Fast Secondary Drive 0 Base Clock: Non-Ultra ATA/100 Timing Fast Secondary Drive 1 Base Clock: Non-Ultra ATA/100 Timing Primary Master Channel Cable Reporting: 40 conductor cable Primary Slave Channel Cable Reporting: 40 conductor cable Secondary Master Channel Cable Reporting: 40 conductor cable Secondary Slave Channel Cable Reporting: 40 conductor cable Primary Drive 0 Base Clock: 33 MHz Primary Drive 1 Base Clock: 33 MHz Secondary Drive 0 Base Clock: 33 MHz Secondary Drive 1 Base Clock: 33 MHz Intel 82801EB ICH5 - SATA Controller [A-2/A-3] ---------------------------- [General Information] Device Name: Intel 82801EB ICH5 - SATA Controller [A-2/A-3] Original Device Name: Intel 82801EB ICH5 - SATA Controller [A-2/A-3] Device Class: IDE Controller Revision ID: 2 Bus Number: 0 Device Number: 31 Function Number: 2 PCI Latency Timer: 0 Hardware ID: PCI\VEN_8086&DEV_24D1&SUBSYS_01511028&REV_02 [System Resources] Interrupt Line: IRQ18 Interrupt Pin: INTA# I/O Base Address 0 FE00 I/O Base Address 1 FE10 I/O Base Address 2 FE20 I/O Base Address 3 FE30 I/O Base Address 4 FEA0 [Features] Bus Mastering: Enabled Running At 66 MHz: Capable Fast Back-to-Back Transactions: Capable [Driver Information] Driver Manufacturer: Intel Driver Description: Intel(R) 82801EB Ultra ATA Storage Controllers - 24D1 Driver Provider: Microsoft Driver Version: 5.1.2600.5512 Driver Date: 01-Jul-2001 DeviceInstanceId PCI\VEN_8086&DEV_24D1&SUBSYS_01511028&REV_02\3&172E68DD&0&FA [IDE Timing Modes (Primary Channel)] IDE Decode: Disabled Slave IDE Timing Register: Disabled IORDY# Sample Point: 5 clocks Recovery Time: 4 clocks DMA Timing Only (Drive 1): Disabled Prefetch And Posting (Drive 1): Disabled IORDY# Sample Point (Drive 1): Disabled Fast Timing Bank (Drive 1): Disabled DMA Timing Only (Drive 0): Disabled Prefetch And Posting (Drive 0): Disabled IORDY# Sample Point (Drive 0): Disabled Fast Timing Bank (Drive 0): Disabled [IDE Timing Modes (Secondary Channel)] IDE Decode: Disabled Slave IDE Timing Register: Disabled IORDY# Sample Point: 5 clocks Recovery Time: 4 clocks DMA Timing Only (Drive 1): Disabled Prefetch And Posting (Drive 1): Disabled IORDY# Sample Point (Drive 1): Disabled Fast Timing Bank (Drive 1): Disabled DMA Timing Only (Drive 0): Disabled Prefetch And Posting (Drive 0): Disabled IORDY# Sample Point (Drive 0): Disabled Fast Timing Bank (Drive 0): Disabled [Slave IDE Timing] Secondary Drive 1 IORDY# Sample Point: 5 clocks Secondary Drive 1 Recovery Time: 4 clocks Primary Drive 1 IORDY# Sample Point: 5 clocks Primary Drive 1 Recovery Time: 4 clocks [Synchronous DMA Control] Primary Drive 0 Synchronous DMA: Disabled Primary Drive 1 Synchronous DMA: Disabled Secondary Drive 0 Synchronous DMA: Disabled Secondary Drive 1 Synchronous DMA: Disabled [Synchronous DMA Timing] Primary Drive 0 Cycle Time: CT=4, RP=6 PCICLKs Primary Drive 1 Cycle Time: CT=4, RP=6 PCICLKs Secondary Drive 0 Cycle Time: CT=4, RP=6 PCICLKs Secondary Drive 1 Cycle Time: CT=4, RP=6 PCICLKs [IDE I/O Configuration] Secondary IDE Signal Mode: Normal (Enabled) Primary IDE Signal Mode: Normal (Enabled) Fast Primary Drive 0 Base Clock: Non-Ultra ATA/100 Timing Fast Primary Drive 1 Base Clock: Non-Ultra ATA/100 Timing Fast Secondary Drive 0 Base Clock: Non-Ultra ATA/100 Timing Fast Secondary Drive 1 Base Clock: Non-Ultra ATA/100 Timing Primary Master Channel Cable Reporting: 40 conductor cable Primary Slave Channel Cable Reporting: 40 conductor cable Secondary Master Channel Cable Reporting: 40 conductor cable Secondary Slave Channel Cable Reporting: 40 conductor cable Primary Drive 0 Base Clock: 33 MHz Primary Drive 1 Base Clock: 33 MHz Secondary Drive 0 Base Clock: 33 MHz Secondary Drive 1 Base Clock: 33 MHz [Address Map] SATA/IDE Combination Map: P0=PRI_MASTER/P1=SEC_MASTER [Port Control and Status] Port 1 Present: Not present Port 0 Present: Not present Port 1 Enabled: Enabled Port 0 Enabled: Enabled Intel 82801EB(M) ICH5(-M) - SMBus Controller [A-2/A-3] -------------------- [General Information] Device Name: Intel 82801EB(M) ICH5(-M) - SMBus Controller [A-2/A-3] Original Device Name: Intel 82801EB(M) ICH5(-M) - SMBus Controller [A-2/A-3] Device Class: SMBus (System Management Bus) Revision ID: 2 Bus Number: 0 Device Number: 31 Function Number: 3 PCI Latency Timer: 0 Hardware ID: PCI\VEN_8086&DEV_24D3&SUBSYS_01511028&REV_02 [System Resources] Interrupt Line: IRQ3 Interrupt Pin: INTB# I/O Base Address 4 EDA0 [Features] Bus Mastering: Disabled Running At 66 MHz: Not Capable Fast Back-to-Back Transactions: Capable [Driver Information] Driver Manufacturer: Intel Driver Description: Intel(R) 82801EB SMBus Controller - 24D3 Driver Provider: Microsoft Driver Version: 5.1.2600.5512 Driver Date: 01-Jul-2001 DeviceInstanceId PCI\VEN_8086&DEV_24D3&SUBSYS_01511028&REV_02\3&172E68DD&0&FB [Host Configuration] IýC Communication: Disabled (SMBus behavior) SMBus SMI: Disabled SMBus Host Controller: Enabled Intel 82801EB(M) ICH5(-M) - AC'97 Audio Controller [A-2/A-3] -------------- [General Information] Device Name: Intel 82801EB(M) ICH5(-M) - AC'97 Audio Controller [A-2/A-3] Original Device Name: Intel 82801EB(M) ICH5(-M) - AC'97 Audio Controller [A-2/A-3] Device Class: Multimedia Audio Adapter Revision ID: 2 Bus Number: 0 Device Number: 31 Function Number: 5 PCI Latency Timer: 0 Hardware ID: PCI\VEN_8086&DEV_24D5&SUBSYS_01511028&REV_02 [System Resources] Interrupt Line: IRQ17 Interrupt Pin: INTB# I/O Base Address 0 EE00 I/O Base Address 1 EDC0 Memory Base Address 2 FEB7FA00 Memory Base Address 3 FEB7F900 [Features] Bus Mastering: Enabled Running At 66 MHz: Not Capable Fast Back-to-Back Transactions: Capable [Driver Information] Driver Manufacturer: Analog Devices, Inc. Driver Description: SoundMAX Integrated Digital Audio Driver Provider: Analog Devices Driver Version: 5.12.1.3555 Driver Date: 28-Feb-2003 DeviceInstanceId PCI\VEN_8086&DEV_24D5&SUBSYS_01511028&REV_02\3&172E68DD&0&FD [Programmable Codec ID] Tertiary Codec ID: 2 Secondary Codec ID: 1 [Configuration] I/O Space: Enabled Video Adapter ------------------------------------------------------------- Intel i865G Integrated ---------------------------------------------------- [Video chipset] Video Chipset: Intel i865G Integrated Video Chipset Codename: Video Memory: 96 MBytes [Video Card] Video Card: Intel 82865G Graphics Controller [A-2] [DELL] Video Bus: PCI Video RAMDAC: Internal Video BIOS Version: 2972 PC Dev 04/16/2003 13:01:21 [Performance] Hardware ID: PCI\VEN_8086&DEV_2572&SUBSYS_01511028&REV_02 [Driver Information] Driver Manufacturer: Intel Corporation Driver Description: Intel(R) 82865G Graphics Controller Driver Provider: Intel Corporation Driver Version: 6.14.10.3762 Driver Date: 10-Feb-2004 DeviceInstanceId PCI\VEN_8086&DEV_2572&SUBSYS_01511028&REV_02\3&172E68DD&0&10 Monitor ------------------------------------------------------------------- SAMSUNG SyncMaster 740N/179N, SyncMaster Magic CX721N/CX714N -------------- [General information] Monitor Name: SAMSUNG SyncMaster 740N/179N, SyncMaster Magic CX721N/CX714N Monitor Name (Manuf): SyncMaster Serial Number: HMAPA13952 Date Of Manufacture: Week: 41, Year: 2007 Monitor Hardware ID: Monitor\SAM01B7 Max. Vertical Size: 27 cm Max. Horizontal Size: 34 cm Horizontal Frequency: 30 - 81 kHz Vertical Frequency: 56 - 75 Hz Maximum Pixel Clock: 140 MHz [Advanced parameters] Input Signal: Analog: 0.700 V / 0.300 V (1.000 V p-p) Display Type: RGB color Gamma Factor: 2.20 [DPMS Modes] Standby: Not Supported Suspend: Not Supported Active Off: Supported Standard Colour Space: Not Supported Preferred Timing Mode: Supported Default GTF Supported: Not Supported [DPMS Input Signal] Serration VSync: Not Supported Sync On Green: Supported Composite Sync: Supported Separate Syncs: Supported Blank-to-black Setup: Not Supported [Supported Video Modes] 1280 x 1024 60 Hz 1280 x 960 60 Hz 1152 x 864 75 Hz 1280 x 1024 338 x 270 mm, Pixel Clock 108.00 MHz Drives -------------------------------------------------------------------- Floppy Drives ------------------------------------------------------------- 1.44 MB 3½" --------------------------------------------------------------- (S)ATA/ATAPI Drives ------------------------------------------------------- ST3320620A ---------------------------------------------------------------- [General Information] [Drive Geometry] [Transfer Modes] [Device flags] [Features] [Self-Monitoring, Analysis and Reporting Technology (S.M.A.R.T.)] HL-DT-ST CD-ROM GCR-8483B ------------------------------------------------- [General information] [Device capabilities] Audio --------------------------------------------------------------------- Intel 82801EB(M) ICH5(-M) - AC'97 Audio Controller [A-2/A-3] -------------- [AC'97 Capabilities] Network ------------------------------------------------------------------- Broadcom BCM430G 802.11b/g Wireless NIC ----------------------------------- [General information] [Capabilities] [Driver Information] Intel 82544XT PRO/1000 MT Desktop Adapter --------------------------------- [General information] [Capabilities] [Driver Information] Ports --------------------------------------------------------------------- Serial Ports -------------------------------------------------------------- COM1 ---------------------------------------------------------------------- Parallel Ports ------------------------------------------------------------ LPT1 ---------------------------------------------------------------------- USB ----------------------------------------------------------------------- Intel(R) 82801EB USB Universal Host Controller - 24D2 --------------------- Root Hub ------------------------------------------------------------------ [Port1] : No Device Connected --------------------------------------------- [Port2] : No Device Connected --------------------------------------------- Intel(R) 82801EB USB Universal Host Controller - 24D4 --------------------- Root Hub ------------------------------------------------------------------ [Port1] : No Device Connected --------------------------------------------- [Port2] : No Device Connected --------------------------------------------- Intel(R) 82801EB USB Universal Host Controller - 24D7 --------------------- Root Hub ------------------------------------------------------------------ [Port1] : No Device Connected --------------------------------------------- [Port2] : No Device Connected --------------------------------------------- Intel(R) 82801EB USB Universal Host Controller - 24DE --------------------- Root Hub ------------------------------------------------------------------ [Port1] : Logitech USB Optical WheelMouse --------------------------------- [Device Information] [Driver Information] [Port2] : USB Human Interface Device -------------------------------------- [Device Information] [Driver Information] Intel(R) 82801EB USB2 Enhanced Host Controller - 24DD --------------------- Root Hub ------------------------------------------------------------------ [Port1] : No Device Connected --------------------------------------------- [Port2] : No Device Connected --------------------------------------------- [Port3] : No Device Connected --------------------------------------------- [Port4] : No Device Connected --------------------------------------------- [Port5] : No Device Connected --------------------------------------------- [Port6] : USB Mass Storage Device ----------------------------------------- [Device Information] [Driver Information] [Port7] : No Device Connected --------------------------------------------- [Port8] : No Device Connected ---------------------------------------------
-
hello again it is i and im still working on my HTTP server I got cgi working (not properly) and i was working on the tray, but it seems traysetonevent isn't working have i missed somthing ? #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Version=Beta #AutoIt3Wrapper_UseUpx=n #AutoIt3Wrapper_Change2CUI=y #AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker #AutoIt3Wrapper_Run_AU3Check=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** ;#Netux_scriptable_webserver.au3#================================== ;File Name.......:Netux_scriptable_webserver.au3 ;Creator.........:sean.campbell7 ;Created with....:Created with ISN AutoIt Studio ;Version.........:0.91 BETA ;============================================= Opt("TrayOnEventMode", 1) Opt("TrayMenuMode", 1) #include <Misc.au3> ; Only used for _Iif #include <file.au3> #include <Array.au3> Local $Dlog = @ScriptDir & "\Logs\NetuX_log_" & @MDAY & "_" & @MON & "_" & @YEAR & ".log" Local $autoit = @AutoItExe OnAutoItExitRegister("_exit") ; // OPTIONS HERE // Local $intcfg = @ScriptDir & "\CFG\init.ini" Local $CGIcfg = @ScriptDir & "\CFG\CGI.ini" Local $sRootDir = @ScriptDir & "\" & IniRead($intcfg, "Main", "MD", "Webroot") Local $sIP = @IPAddress1 if IniRead($intcfg, "Main", "Uselocal", "false") = "true" Then $sIP = "127.0.0.1" EndIf Local $iPort = 80 ; the listening port Local $sServerAddress = "https://" & $sIP & "/" Local $sServerName = "NetuX/1.3 (" & @OSVersion & ") AutoIt " & @AutoItVersion ; // END OF OPTIONS // Local $aSocket[1] ; Creates an array to store all the possible users Local $sBuffer[1] ; All these users have buffers when sending/receiving, so we need a place to store those TCPStartup() ; AutoIt needs to initialize the TCP functions $iMainSocket = TCPListen($sIP, $iPort) ;create main listening socket If @error Then ; if you fail creating a socket, exit the application MsgBox(266256, "NetuX 1.3", "Error : NetuX cannot establish a listening port check to see of any other" & @CRLF & "server software is running", 0) _log("Error : Unknown Host Exeption, Exiting") Exit ; if your server is part of a GUI that has nothing to do with the server, you'll need to remove the Exit keyword and notify the user that the HTTP server will not work. EndIf ConsoleWrite("Server established on : " & $sServerAddress & @CRLF) ; If you're in SciTE, _log("established server : " & $sServerAddress) $exit = TrayCreateItem("Exit NetuX Server") TraySetOnEvent($exit,"_exit") TraySetState() While 1 $iNewSocket = TCPAccept($iMainSocket) ; Tries to accept incoming connections If $iNewSocket >= 0 Then ; Verifies that there actually is an incoming connection Local $user = UBound($aSocket) ; some code to allow infinate users ReDim $aSocket[$user + 1] ReDim $sBuffer[$user + 1] $aSocket[$user] = $iNewSocket ConsoleWrite("New Client : " & TCPSocketToIP($iNewSocket) & @CRLF) _log("Client connected on : " & TCPSocketToIP($iNewSocket)) EndIf For $x = 0 to UBound($aSocket) - 1 ; A big loop to receive data from everyone connected $sNewData = TCPRecv($aSocket[$x], 1024) ; Receives a whole lot of data if possible If $sNewData Then ; data received $sBuffer[$x] &= $sNewData ;store it in the buffer If StringInStr(StringStripCR($sBuffer[$x]), @LF & @LF) Then ; if the request has ended .. $sFirstLine = StringLeft($sBuffer[$x], StringInStr($sBuffer[$x], @LF)) ; helps to get the type of the request $sRequestType = StringLeft($sFirstLine, StringInStr($sFirstLine, " ") - 1) ; gets the type of the request If $sRequestType = "GET" Then ; user wants to download a file or whatever .. $sRequest = StringTrimRight(StringTrimLeft($sFirstLine, 4), 11) ; let's see what file he actually wants If StringInStr(StringReplace($sRequest, "\", "/"), "/.") Then ; Disallow any attempts to go back a folder _HTTP_Send400($aSocket[$x]) ; sends back an error ConsoleWrite("Client requested bad address" & @CRLF) _log("Error : code 400 requested bad address") Else If $sRequest = "/" Then ; user has requested the root if FileExists($sRootDir & "\index.htm") Then $sRequest = "/index.htm" ElseIf FileExists($sRootDir & "\index.htm") Then $sRequest = "/index.html" ElseIf FileExists($sRootDir & "\index.au3") Then $sRequest = "/index.au3" EndIf EndIf $sRequest = StringReplace($sRequest, "/", "\") ; convert HTTP slashes to windows slashes, not really required because windows accepts both If FileExists($sRootDir & "\" & $sRequest) Then ; makes sure the file that the user wants exists $sFileType = StringRight($sRequest, 4) ; determines the file type, so that we may choose what mine type to use Switch $sFileType Case "html", ".htm" ; in case of normal HTML files _HTTP_SendFile($aSocket[$x], $sRootDir & $sRequest, "text/html") Case ".css" ; in case of style sheets _HTTP_SendFile($aSocket[$x], $sRootDir & $sRequest, "text/css") Case ".jpg", "jpeg" ; for common images _HTTP_SendFile($aSocket[$x], $sRootDir & $sRequest, "image/jpeg") Case ".png" ; another common image format _HTTP_SendFile($aSocket[$x], $sRootDir & $sRequest, "image/png") Case Else ; this is for .exe, .zip, or anything else that is not supported is downloaded to the client using a application/octet-stream if _isCGIscript($sFileType) Then _autodetectscript($sRequest, $aSocket[$x]) Else _HTTP_SendFile($aSocket[$x], $sRootDir & $sRequest, "application/octet-stream") EndIf EndSwitch Else _autodetectscript($sRequest, $aSocket[$x]) EndIf EndIf ElseIf $sRequestType = "POST" Then ; user has come to us with data, we need to parse that data and based on that do something special $aPOST = _HTTP_GetPost($sBuffer[$x]) ; parses the post data $sComment = _HTTP_POST("wintext", $aPOST) ; Like PHPs _POST, but it requires the second parameter to be the return value from _Get_Post _HTTP_ConvertString($sComment) ; Needs to convert the POST HTTP string into a normal string ConsoleWrite($sComment) $data = FileRead($sRootDir & "\template.html") $data = StringReplace($data, "<?au3 Replace me ?>", $sComment) $h = FileOpen($sRootDir & "\index.html", 2) FileWrite($h, $data) FileClose($h) $h = FileOpen($sRootDir & "\clean.html", 2) FileWrite($h, $sComment) FileClose($h) _HTTP_SendFile($aSocket[$x], $sRootDir & "\index.html", "text/html") ; Sends back the new file we just created EndIf $sBuffer[$x] = "" ; clears the buffer because we just used to buffer and did some actions based on them $aSocket[$x] = -1 ; the socket is automatically closed so we reset the socket so that we may accept new clients EndIf EndIf Next Sleep(10) WEnd Func _HTTP_ConvertString(ByRef $sInput) ; converts any characters like %20 into space 8) $sInput = StringReplace($sInput, '+', ' ') StringReplace($sInput, '%', '') For $t = 0 To @extended $Find_Char = StringLeft(StringTrimLeft($sInput, StringInStr($sInput, '%')), 2) $sInput = StringReplace($sInput, '%' & $Find_Char, Chr(Dec($Find_Char))) Next EndFunc Func _HTTP_SendHTML($hSocket, $sHTML, $sReply = "200 OK") ; sends HTML data on X socket _HTTP_SendData($hSocket, Binary($sHTML), "text/html", $sReply) EndFunc Func _HTTP_SendFile($hSocket, $sFileLoc, $sMimeType, $sReply = "200 OK") ; Sends a file back to the client on X socket, with X mime-type Local $hFile, $sImgBuffer, $sPacket, $a ConsoleWrite("Sending " & $sFileLoc & @CRLF) $hFile = FileOpen($sFileLoc, 16) $bFileData = FileRead($hFile) FileClose($hFile) _HTTP_SendData($hSocket, $bFileData, $sMimeType, $sReply) EndFunc Func _HTTP_SendData($hSocket, $bData, $sMimeType, $sReply = "200 OK") $sPacket = Binary("HTTP/1.1 " & $sReply & @CRLF & _ "Server: " & $sServerName & @CRLF & _ "Connection: close" & @CRLF & _ "Content-Lenght: " & BinaryLen($bData) & @CRLF & _ "Content-Type: " & $sMimeType & @CRLF & _ @CRLF) TCPSend($hSocket, $sPacket) ; Send start of packet While BinaryLen($bData) ; Send data in chunks (most code by Larry) $a = TCPSend($hSocket, $bData) ; TCPSend returns the number of bytes sent $bData = BinaryMid($bData, $a + 1, BinaryLen($bData) - $a) WEnd $sPacket = Binary(@CRLF & @CRLF) ; Finish the packet TCPSend($hSocket, $sPacket) TCPCloseSocket($hSocket) EndFunc Func _HTTP_Send404($hSocket) ; Sends back a basic 404 error Local $s404Loc = $sRootDir & "\404.html" If FileExists($s404Loc) Then _HTTP_SendFile($hSocket, $s404Loc, "text/html") Else _HTTP_SendHTML($hSocket, "<h1>404 Error:</h1><br/>The file you requested could not be found.<br/><br/><i>Netux SND HTTP Server version 1.3</i>", "404 not found") EndIf EndFunc Func _HTTP_Send400($hSocket) ; Sends back a basic 400 error Local $s400Loc = $sRootDir & "\400.html" If FileExists($s400Loc) Then _HTTP_SendFile($hSocket, $s400Loc, "text/html") Else _HTTP_SendHTML($hSocket, "<h1>400 Error:</h1><br/>bad or incorrect syntax in address.<br/><br/><i>Netux SND HTTP Server version 1.3</i>", "400 bad") EndIf EndFunc Func _HTTP_GetPost($s_Buffer) ; parses incoming POST data Local $sTempPost, $sLen, $sPostData, $sTemp ; Get the lenght of the data in the POST $sTempPost = StringTrimLeft($s_Buffer, StringInStr($s_Buffer, "Content-Length:")) $sLen = StringTrimLeft($sTempPost, StringInStr($sTempPost, ": ")) ; Create the base struck $sPostData = StringSplit(StringRight($s_Buffer, $sLen), "&") Local $sReturn[$sPostData[0] + 1][2] For $t = 1 To $sPostData[0] $sTemp = StringSplit($sPostData[$t], "=") If $sTemp[0] >= 2 Then $sReturn[$t][0] = $sTemp[1] $sReturn[$t][1] = $sTemp[2] EndIf Next Return $sReturn EndFunc Func _HTTP_Post($sName, $sArray) ; Returns a POST variable like a associative array. For $i = 1 to UBound($sArray) - 1 If $sArray[$i][0] = $sName Then Return $sArray[$i][1] EndIf Next Return "" EndFunc Func _log($text) ; its just for logging if IniRead($intcfg, "Main", "log", "true") = "true" Then local $ilog = FileOpen($Dlog, 1) FileWrite($ilog, @HOUR & ":" & @MIN & ":" & @SEC & ":" & $text & @CRLF) EndIf EndFunc Func TCPSocketToIP($SHOCKET) ;from the helpfile Local $sockaddr, $aRet $sockaddr = DllStructCreate("short;ushort;uint;char[8]") $aRet = DllCall("Ws2_32.dll", "int", "getpeername", "int", $SHOCKET, _ "ptr", DllStructGetPtr($sockaddr), "int*", DllStructGetSize($sockaddr)) If Not @error And $aRet[0] = 0 Then $aRet = DllCall("Ws2_32.dll", "str", "inet_ntoa", "int", DllStructGetData($sockaddr, 3)) If Not @error Then $aRet = $aRet[0] Else $aRet = 0 EndIf $sockaddr = 0 Return $aRet EndFunc ;==>SocketToIP Func _autodetectscript($request, $hSocket) $snp = StringSplit($request, "?") If FileExists($sRootDir & $snp[1]) Then $ipid = Run(_CGIgetexe($snp[1]) & ' "' & $sRootDir & $snp[1] & '"', '', '', 0x8) Local $data while ProcessExists($ipid) Sleep(100) wend $data = StdoutRead($ipid) Sleep(100) ;dont know why it needs to sleep it just dose _HTTP_SendHtml($hSocket, $data) Else _HTTP_Send404($hSocket) EndIf EndFunc Func _exit() _log("Server Closed") Exit EndFunc Func _isCGIscript($file) $cgidet = IniRead($CGIcfg,"Main","CGI.bindExt","") $aCFG = StringSplit($cgidet,",") for $i = 1 to $aCFG[0] $str = StringSplit($aCFG[$i],">") if _filegetext($file) = $str[1] Then Return True EndIf Next Return False EndFunc Func _CGIgetexe($file) $cgidet = IniRead($CGIcfg,"Main","CGI.bindExt","") $aCFG = StringSplit($cgidet,",") for $i = 1 to $aCFG[0] $str = StringSplit($aCFG[$i],">") if _filegetext($file) = $str[1] Then _ArrayAdd($str,"") Return $str[2] EndIf Next EndFunc Func _filegetext($sString) $aString = StringSplit($sString,".") Return $aString[$aString[0]] EndFunc
-
STDOUT ?
MachinistProgrammer replied to MachinistProgrammer's topic in AutoIt General Help and Support
I forgot the run param to let the script inherret the stdout and stderr stream and i used your data loop #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Version=Beta #AutoIt3Wrapper_UseUpx=n #AutoIt3Wrapper_Change2CUI=y #AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker #AutoIt3Wrapper_Run_AU3Check=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** ;#Netux_scriptable_webserver.au3#================================== ;File Name.......:Netux_scriptable_webserver.au3 ;Creator.........:sean.campbell7 ;Created with....:Created with ISN AutoIt Studio ;Version.........:0.91 BETA ;============================================= #include <Misc.au3> ; Only used for _Iif #include <file.au3> #include <Array.au3> Local $Dlog = @ScriptDir & "\Logs\NetuX_log_" & @MDAY & "_" & @MON & "_" & @YEAR & ".log" Local $autoit = @AutoItExe OnAutoItExitRegister("_exit") ; // OPTIONS HERE // Local $intcfg = @ScriptDir & "\CFG\init.ini" Local $sRootDir = @ScriptDir & "\" & IniRead($intcfg, "Main", "MD", "Webroot") Local $sIP = @IPAddress1 if IniRead($intcfg, "Main", "Uselocal", "false") = "true" Then $sIP = "127.0.0.1" EndIf Local $iPort = 80 ; the listening port Local $sServerAddress = "https://" & $sIP & "/" Local $sServerName = "NetuX/1.3 (" & @OSVersion & ") AutoIt " & @AutoItVersion ; // END OF OPTIONS // Local $aSocket[1] ; Creates an array to store all the possible users Local $sBuffer[1] ; All these users have buffers when sending/receiving, so we need a place to store those TCPStartup() ; AutoIt needs to initialize the TCP functions $iMainSocket = TCPListen($sIP, $iPort) ;create main listening socket If @error Then ; if you fail creating a socket, exit the application MsgBox(266256, "NetuX 1.3", "Error : NetuX cannot establish a listening port check to see of any other" & @CRLF & "server software is running", 0) _log("Error : Unknown Host Exeption, Exiting") Exit ; if your server is part of a GUI that has nothing to do with the server, you'll need to remove the Exit keyword and notify the user that the HTTP server will not work. EndIf ConsoleWrite("Server established on : " & $sServerAddress & @CRLF) ; If you're in SciTE, _log("established server : " & $sServerAddress) While 1 $iNewSocket = TCPAccept($iMainSocket) ; Tries to accept incoming connections If $iNewSocket >= 0 Then ; Verifies that there actually is an incoming connection Local $user = UBound($aSocket) ; some code to allow infinate users ReDim $aSocket[$user + 1] ReDim $sBuffer[$user + 1] $aSocket[$user] = $iNewSocket ConsoleWrite("New Client : " & TCPSocketToIP($iNewSocket) & @CRLF) _log("Client connected on : " & TCPSocketToIP($iNewSocket)) EndIf For $x = 0 to UBound($aSocket) - 1 ; A big loop to receive data from everyone connected $sNewData = TCPRecv($aSocket[$x], 1024) ; Receives a whole lot of data if possible If $sNewData Then ; data received $sBuffer[$x] &= $sNewData ;store it in the buffer If StringInStr(StringStripCR($sBuffer[$x]), @LF & @LF) Then ; if the request has ended .. $sFirstLine = StringLeft($sBuffer[$x], StringInStr($sBuffer[$x], @LF)) ; helps to get the type of the request $sRequestType = StringLeft($sFirstLine, StringInStr($sFirstLine, " ") - 1) ; gets the type of the request If $sRequestType = "GET" Then ; user wants to download a file or whatever .. $sRequest = StringTrimRight(StringTrimLeft($sFirstLine, 4), 11) ; let's see what file he actually wants If StringInStr(StringReplace($sRequest, "\", "/"), "/.") Then ; Disallow any attempts to go back a folder _HTTP_Send400($aSocket[$x]) ; sends back an error ConsoleWrite("Client requested bad address" & @CRLF) _log("Error : code 400 requested bad address") Else If $sRequest = "/" Then ; user has requested the root if FileExists($sRootDir & "\index.htm") Then $sRequest = "/index.htm" ElseIf FileExists($sRootDir & "\index.htm") Then $sRequest = "/index.html" ElseIf FileExists($sRootDir & "\index.au3") Then $sRequest = "/index.au3" EndIf EndIf $sRequest = StringReplace($sRequest, "/", "\") ; convert HTTP slashes to windows slashes, not really required because windows accepts both If FileExists($sRootDir & "\" & $sRequest) Then ; makes sure the file that the user wants exists $sFileType = StringRight($sRequest, 4) ; determines the file type, so that we may choose what mine type to use Switch $sFileType Case "html", ".htm" ; in case of normal HTML files _HTTP_SendFile($aSocket[$x], $sRootDir & $sRequest, "text/html") Case ".css" ; in case of style sheets _HTTP_SendFile($aSocket[$x], $sRootDir & $sRequest, "text/css") Case ".jpg", "jpeg" ; for common images _HTTP_SendFile($aSocket[$x], $sRootDir & $sRequest, "image/jpeg") Case ".png" ; another common image format _HTTP_SendFile($aSocket[$x], $sRootDir & $sRequest, "image/png") Case ".au3" _autodetectscript($sRequest, $aSocket[$x]) Case Else ; this is for .exe, .zip, or anything else that is not supported is downloaded to the client using a application/octet-stream _HTTP_SendFile($aSocket[$x], $sRootDir & $sRequest, "application/octet-stream") EndSwitch Else _autodetectscript($sRequest, $aSocket[$x]) EndIf EndIf ElseIf $sRequestType = "POST" Then ; user has come to us with data, we need to parse that data and based on that do something special $aPOST = _HTTP_GetPost($sBuffer[$x]) ; parses the post data $sComment = _HTTP_POST("wintext", $aPOST) ; Like PHPs _POST, but it requires the second parameter to be the return value from _Get_Post _HTTP_ConvertString($sComment) ; Needs to convert the POST HTTP string into a normal string ConsoleWrite($sComment) $data = FileRead($sRootDir & "\template.html") $data = StringReplace($data, "<?au3 Replace me ?>", $sComment) $h = FileOpen($sRootDir & "\index.html", 2) FileWrite($h, $data) FileClose($h) $h = FileOpen($sRootDir & "\clean.html", 2) FileWrite($h, $sComment) FileClose($h) _HTTP_SendFile($aSocket[$x], $sRootDir & "\index.html", "text/html") ; Sends back the new file we just created EndIf $sBuffer[$x] = "" ; clears the buffer because we just used to buffer and did some actions based on them $aSocket[$x] = -1 ; the socket is automatically closed so we reset the socket so that we may accept new clients EndIf EndIf Next Sleep(10) WEnd Func _HTTP_ConvertString(ByRef $sInput) ; converts any characters like %20 into space 8) $sInput = StringReplace($sInput, '+', ' ') StringReplace($sInput, '%', '') For $t = 0 To @extended $Find_Char = StringLeft(StringTrimLeft($sInput, StringInStr($sInput, '%')), 2) $sInput = StringReplace($sInput, '%' & $Find_Char, Chr(Dec($Find_Char))) Next EndFunc Func _HTTP_SendHTML($hSocket, $sHTML, $sReply = "200 OK") ; sends HTML data on X socket _HTTP_SendData($hSocket, Binary($sHTML), "text/html", $sReply) EndFunc Func _HTTP_SendFile($hSocket, $sFileLoc, $sMimeType, $sReply = "200 OK") ; Sends a file back to the client on X socket, with X mime-type Local $hFile, $sImgBuffer, $sPacket, $a ConsoleWrite("Sending " & $sFileLoc & @CRLF) $hFile = FileOpen($sFileLoc, 16) $bFileData = FileRead($hFile) FileClose($hFile) _HTTP_SendData($hSocket, $bFileData, $sMimeType, $sReply) EndFunc Func _HTTP_SendData($hSocket, $bData, $sMimeType, $sReply = "200 OK") $sPacket = Binary("HTTP/1.1 " & $sReply & @CRLF & _ "Server: " & $sServerName & @CRLF & _ "Connection: close" & @CRLF & _ "Content-Lenght: " & BinaryLen($bData) & @CRLF & _ "Content-Type: " & $sMimeType & @CRLF & _ @CRLF) TCPSend($hSocket, $sPacket) ; Send start of packet While BinaryLen($bData) ; Send data in chunks (most code by Larry) $a = TCPSend($hSocket, $bData) ; TCPSend returns the number of bytes sent $bData = BinaryMid($bData, $a + 1, BinaryLen($bData) - $a) WEnd $sPacket = Binary(@CRLF & @CRLF) ; Finish the packet TCPSend($hSocket, $sPacket) TCPCloseSocket($hSocket) EndFunc Func _HTTP_Send404($hSocket) ; Sends back a basic 404 error Local $s404Loc = $sRootDir & "\404.html" If FileExists($s404Loc) Then _HTTP_SendFile($hSocket, $s404Loc, "text/html") Else _HTTP_SendHTML($hSocket, "<h1>404 Error:</h1><br/>The file you requested could not be found.<br/><br/><i>Netux SND HTTP Server version 1.3</i>", "404 not found") EndIf EndFunc Func _HTTP_Send400($hSocket) ; Sends back a basic 400 error Local $s400Loc = $sRootDir & "\400.html" If FileExists($s400Loc) Then _HTTP_SendFile($hSocket, $s400Loc, "text/html") Else _HTTP_SendHTML($hSocket, "<h1>400 Error:</h1><br/>bad or incorrect syntax in address.<br/><br/><i>Netux SND HTTP Server version 1.3</i>", "400 bad") EndIf EndFunc Func _HTTP_GetPost($s_Buffer) ; parses incoming POST data Local $sTempPost, $sLen, $sPostData, $sTemp ; Get the lenght of the data in the POST $sTempPost = StringTrimLeft($s_Buffer, StringInStr($s_Buffer, "Content-Length:")) $sLen = StringTrimLeft($sTempPost, StringInStr($sTempPost, ": ")) ; Create the base struck $sPostData = StringSplit(StringRight($s_Buffer, $sLen), "&") Local $sReturn[$sPostData[0] + 1][2] For $t = 1 To $sPostData[0] $sTemp = StringSplit($sPostData[$t], "=") If $sTemp[0] >= 2 Then $sReturn[$t][0] = $sTemp[1] $sReturn[$t][1] = $sTemp[2] EndIf Next Return $sReturn EndFunc Func _HTTP_Post($sName, $sArray) ; Returns a POST variable like a associative array. For $i = 1 to UBound($sArray) - 1 If $sArray[$i][0] = $sName Then Return $sArray[$i][1] EndIf Next Return "" EndFunc Func _log($text) ; its just for logging if IniRead($intcfg, "Main", "log", "true") = "true" Then local $ilog = FileOpen($Dlog, 1) FileWrite($ilog, @HOUR & ":" & @MIN & ":" & @SEC & ":" & $text & @CRLF) EndIf EndFunc Func TCPSocketToIP($SHOCKET) ;from the helpfile Local $sockaddr, $aRet $sockaddr = DllStructCreate("short;ushort;uint;char[8]") $aRet = DllCall("Ws2_32.dll", "int", "getpeername", "int", $SHOCKET, _ "ptr", DllStructGetPtr($sockaddr), "int*", DllStructGetSize($sockaddr)) If Not @error And $aRet[0] = 0 Then $aRet = DllCall("Ws2_32.dll", "str", "inet_ntoa", "int", DllStructGetData($sockaddr, 3)) If Not @error Then $aRet = $aRet[0] Else $aRet = 0 EndIf $sockaddr = 0 Return $aRet EndFunc ;==>SocketToIP Func _autodetectscript($request, $hSocket) $snp = StringSplit($request, "?") If FileExists($sRootDir & $snp[1]) Then $ipid = Run($autoit & ' "' & $sRootDir & $snp[1] & '"', '', '', 0x8) Local $data while ProcessExists($ipid) Sleep(100) wend $data = StdoutRead($ipid) Sleep(100) ;dont know why it needs to sleep it just dose _HTTP_SendHtml($hSocket, $data) Else _HTTP_Send404($hSocket) EndIf EndFunc Func _exit() _log("Server Closed") EndFunc -
STDOUT ?
MachinistProgrammer replied to MachinistProgrammer's topic in AutoIt General Help and Support
its based on manders http server with some modifucations #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Version=Beta #AutoIt3Wrapper_UseUpx=n #AutoIt3Wrapper_Change2CUI=y #AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker #AutoIt3Wrapper_Run_AU3Check=y #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** ;#Netux_scriptable_webserver.au3#================================== ;File Name.......:Netux_scriptable_webserver.au3 ;Creator.........:sean.campbell7 ;Created with....:Created with ISN AutoIt Studio ;Version.........:0.91 BETA ;============================================= #include <Misc.au3> ; Only used for _Iif #include <file.au3> #include <Array.au3> Local $Dlog = @ScriptDir & "\Logs\NetuX_log_" & @MDAY & "_" & @MON & "_" & @YEAR & ".log" Local $autoit = @AutoItExe OnAutoItExitRegister("_exit") ; // OPTIONS HERE // Local $intcfg = @ScriptDir & "\CFG\init.ini" Local $sRootDir = @ScriptDir & "\" & IniRead($intcfg,"Main","MD","Webroot") Local $sIP = @IPAddress1 if IniRead($intcfg,"Main","Uselocal","false") = "true" Then $sIP = "127.0.0.1" EndIf Local $iPort = 80 ; the listening port Local $sServerAddress = "https://" & $sIP & "/" Local $sServerName = "NetuX/1.3 (" & @OSVersion & ") AutoIt " & @AutoItVersion ; // END OF OPTIONS // Local $aSocket[1] ; Creates an array to store all the possible users Local $sBuffer[1] ; All these users have buffers when sending/receiving, so we need a place to store those TCPStartup() ; AutoIt needs to initialize the TCP functions $iMainSocket = TCPListen($sIP, $iPort) ;create main listening socket If @error Then ; if you fail creating a socket, exit the application MsgBox(266256,"NetuX 1.3","Error : NetuX cannot establish a listening port check to see of any other" & @CRLF & "server software is running",0) _log("Error : Unknown Host Exeption, Exiting") Exit ; if your server is part of a GUI that has nothing to do with the server, you'll need to remove the Exit keyword and notify the user that the HTTP server will not work. EndIf ConsoleWrite("Server established on : " & $sServerAddress & @CRLF) ; If you're in SciTE, _log("established server : " & $sServerAddress) While 1 $iNewSocket = TCPAccept($iMainSocket) ; Tries to accept incoming connections If $iNewSocket >= 0 Then ; Verifies that there actually is an incoming connection Local $user = UBound($aSocket) ; some code to allow infinate users ReDim $aSocket[$user+1] ReDim $sBuffer[$user+1] $aSocket[$user] = $iNewSocket ConsoleWrite("New Client : " & TCPSocketToIP($iNewSocket) & @CRLF) _log("Client connected on : " & TCPSocketToIP($iNewSocket)) EndIf For $x = 0 to UBound($aSocket) - 1 ; A big loop to receive data from everyone connected $sNewData = TCPRecv($aSocket[$x], 1024) ; Receives a whole lot of data if possible If $sNewData Then ; data received $sBuffer[$x] &= $sNewData ;store it in the buffer If StringInStr(StringStripCR($sBuffer[$x]), @LF & @LF) Then ; if the request has ended .. $sFirstLine = StringLeft($sBuffer[$x], StringInStr($sBuffer[$x], @LF)) ; helps to get the type of the request $sRequestType = StringLeft($sFirstLine, StringInStr($sFirstLine, " ") - 1) ; gets the type of the request If $sRequestType = "GET" Then ; user wants to download a file or whatever .. $sRequest = StringTrimRight(StringTrimLeft($sFirstLine, 4), 11) ; let's see what file he actually wants If StringInStr(StringReplace($sRequest, "\", "/"), "/.") Then ; Disallow any attempts to go back a folder _HTTP_Send400($aSocket[$x]) ; sends back an error ConsoleWrite("Client requested bad address" & @CRLF) _log("Error : code 400 requested bad address") Else If $sRequest = "/" Then ; user has requested the root if FileExists($sRootDir & "\index.htm") Then $sRequest = "/index.htm" ElseIf FileExists($sRootDir & "\index.htm") Then $sRequest = "/index.html" ElseIf FileExists($sRootDir & "\index.au3") Then $sRequest = "/index.au3" EndIf EndIf $sRequest = StringReplace($sRequest, "/", "\") ; convert HTTP slashes to windows slashes, not really required because windows accepts both If FileExists($sRootDir & "\" & $sRequest) Then ; makes sure the file that the user wants exists $sFileType = StringRight($sRequest, 4) ; determines the file type, so that we may choose what mine type to use Switch $sFileType Case "html", ".htm" ; in case of normal HTML files _HTTP_SendFile($aSocket[$x], $sRootDir & $sRequest, "text/html") Case ".css" ; in case of style sheets _HTTP_SendFile($aSocket[$x], $sRootDir & $sRequest, "text/css") Case ".jpg", "jpeg" ; for common images _HTTP_SendFile($aSocket[$x], $sRootDir & $sRequest, "image/jpeg") Case ".png" ; another common image format _HTTP_SendFile($aSocket[$x], $sRootDir & $sRequest, "image/png") Case ".au3" _autodetectscript($sRequest,$aSocket[$x]) Case Else ; this is for .exe, .zip, or anything else that is not supported is downloaded to the client using a application/octet-stream _HTTP_SendFile($aSocket[$x], $sRootDir & $sRequest, "application/octet-stream") EndSwitch Else _autodetectscript($sRequest,$aSocket[$x]) EndIf EndIf ElseIf $sRequestType = "POST" Then ; user has come to us with data, we need to parse that data and based on that do something special $aPOST = _HTTP_GetPost($sBuffer[$x]) ; parses the post data $sComment = _HTTP_POST("wintext", $aPOST) ; Like PHPs _POST, but it requires the second parameter to be the return value from _Get_Post _HTTP_ConvertString($sComment) ; Needs to convert the POST HTTP string into a normal string ConsoleWrite($sComment) $data = FileRead($sRootDir & "\template.html") $data = StringReplace($data, "<?au3 Replace me ?>", $sComment) $h = FileOpen($sRootDir & "\index.html", 2) FileWrite($h, $data) FileClose($h) $h = FileOpen($sRootDir & "\clean.html", 2) FileWrite($h, $sComment) FileClose($h) _HTTP_SendFile($aSocket[$x], $sRootDir & "\index.html", "text/html") ; Sends back the new file we just created EndIf $sBuffer[$x] = "" ; clears the buffer because we just used to buffer and did some actions based on them $aSocket[$x] = -1 ; the socket is automatically closed so we reset the socket so that we may accept new clients EndIf EndIf Next Sleep(10) WEnd Func _HTTP_ConvertString(ByRef $sInput) ; converts any characters like %20 into space 8) $sInput = StringReplace($sInput, '+', ' ') StringReplace($sInput, '%', '') For $t = 0 To @extended $Find_Char = StringLeft(StringTrimLeft($sInput, StringInStr($sInput, '%')), 2) $sInput = StringReplace($sInput, '%' & $Find_Char, Chr(Dec($Find_Char))) Next EndFunc Func _HTTP_SendHTML($hSocket, $sHTML, $sReply = "200 OK") ; sends HTML data on X socket _HTTP_SendData($hSocket, Binary($sHTML), "text/html", $sReply) EndFunc Func _HTTP_SendFile($hSocket, $sFileLoc, $sMimeType, $sReply = "200 OK") ; Sends a file back to the client on X socket, with X mime-type Local $hFile, $sImgBuffer, $sPacket, $a ConsoleWrite("Sending " & $sFileLoc & @CRLF) $hFile = FileOpen($sFileLoc, 16) $bFileData = FileRead($hFile) FileClose($hFile) _HTTP_SendData($hSocket, $bFileData, $sMimeType, $sReply) EndFunc Func _HTTP_SendData($hSocket, $bData, $sMimeType, $sReply = "200 OK") $sPacket = Binary("HTTP/1.1 " & $sReply & @CRLF & _ "Server: " & $sServerName & @CRLF & _ "Connection: close" & @CRLF & _ "Content-Lenght: " & BinaryLen($bData) & @CRLF & _ "Content-Type: " & $sMimeType & @CRLF & _ @CRLF) TCPSend($hSocket, $sPacket) ; Send start of packet While BinaryLen($bData) ; Send data in chunks (most code by Larry) $a = TCPSend($hSocket, $bData) ; TCPSend returns the number of bytes sent $bData = BinaryMid($bData, $a + 1, BinaryLen($bData) - $a) WEnd $sPacket = Binary(@CRLF & @CRLF) ; Finish the packet TCPSend($hSocket, $sPacket) TCPCloseSocket($hSocket) EndFunc Func _HTTP_Send404($hSocket) ; Sends back a basic 404 error Local $s404Loc = $sRootDir & "\404.html" If FileExists($s404Loc) Then _HTTP_SendFile($hSocket, $s404Loc, "text/html") Else _HTTP_SendHTML($hSocket, "<h1>404 Error:</h1><br/>The file you requested could not be found.<br/><br/><i>Netux SND HTTP Server version 1.3</i>","404 not found") EndIf EndFunc Func _HTTP_Send400($hSocket) ; Sends back a basic 400 error Local $s400Loc = $sRootDir & "\400.html" If FileExists($s400Loc) Then _HTTP_SendFile($hSocket, $s400Loc, "text/html") Else _HTTP_SendHTML($hSocket, "<h1>400 Error:</h1><br/>bad or incorrect syntax in address.<br/><br/><i>Netux SND HTTP Server version 1.3</i>","400 bad") EndIf EndFunc Func _HTTP_GetPost($s_Buffer) ; parses incoming POST data Local $sTempPost, $sLen, $sPostData, $sTemp ; Get the lenght of the data in the POST $sTempPost = StringTrimLeft($s_Buffer, StringInStr($s_Buffer, "Content-Length:")) $sLen = StringTrimLeft($sTempPost, StringInStr($sTempPost, ": ")) ; Create the base struck $sPostData = StringSplit(StringRight($s_Buffer, $sLen), "&") Local $sReturn[$sPostData[0] + 1][2] For $t = 1 To $sPostData[0] $sTemp = StringSplit($sPostData[$t], "=") If $sTemp[0] >= 2 Then $sReturn[$t][0] = $sTemp[1] $sReturn[$t][1] = $sTemp[2] EndIf Next Return $sReturn EndFunc Func _HTTP_Post($sName, $sArray) ; Returns a POST variable like a associative array. For $i = 1 to UBound($sArray) - 1 If $sArray[$i][0] = $sName Then Return $sArray[$i][1] EndIf Next Return "" EndFunc Func _log($text) ; its just for logging if IniRead($intcfg,"Main","log","true") = "true" Then local $ilog = FileOpen($Dlog,1) FileWrite($ilog,@HOUR & ":" & @MIN & ":" & @SEC & ":" & $text & @CRLF) EndIf EndFunc Func TCPSocketToIP($SHOCKET) ;from the helpfile Local $sockaddr, $aRet $sockaddr = DllStructCreate("short;ushort;uint;char[8]") $aRet = DllCall("Ws2_32.dll", "int", "getpeername", "int", $SHOCKET, _ "ptr", DllStructGetPtr($sockaddr), "int*", DllStructGetSize($sockaddr)) If Not @error And $aRet[0] = 0 Then $aRet = DllCall("Ws2_32.dll", "str", "inet_ntoa", "int", DllStructGetData($sockaddr, 3)) If Not @error Then $aRet = $aRet[0] Else $aRet = 0 EndIf $sockaddr = 0 Return $aRet EndFunc ;==>SocketToIP Func _autodetectscript($request,$hSocket) $snp = StringSplit($request,"?") If FileExists($sRootDir & $snp[1]) Then $ipid = Run($autoit & ' "'& $sRootDir & $snp[1] & '"') Local $data while 1 $data &= StdoutRead($ipid) if $data <> "" Then ExitLoop wend _HTTP_SendHtml($hSocket,$data) Else _HTTP_Send404($hSocket) EndIf EndFunc Func _exit() _log("Server Closed") EndFunc -
At the moment i working on a HTTP server with compatibility for CGI (I know autoit isn't a good choice for HTTP servers but i dont care) and i need to be able read the stdout of a cgi app and/or or an autoit script i tried using stdoutread in a loop but nothing so to sumerise how can i - read data from stdout stream - write data to the stdout stream and yes i have looked on th forum but nothing seemed to work
-
Help i couldn't get AuCGIFiles.zip so i edited the config and whenever i try to run a script i get 2013-08-20 12:57:40: (mod_cgi.c.588) cgi died, pid: 7776
-
this is kind of a silly question its like saying whats better the wheel or the car the car is easier to se but without the wheel the car wouldnt exist
-
Will this be developed into a UDF (for those that aren't so good with with that kind of code)
-
COM ???????
MachinistProgrammer replied to MachinistProgrammer's topic in AutoIt General Help and Support
ok i dont think that i used the right name for what i want to know. its more to to with how >this works, with the variables with C -
I've been using autoit for over a year now and i understand most of it except for COM is there any tutorials on COM because i am having trouble understanding COM in general. please help
-
i tell you what would be great. support of simulated directories eg a server sends a bunch of file names and the client program receves this and uses it in an explorer listview or maby the index of a compressed file is read and displayed in an explorer listview Edit : Did not make sence
-
Communiction with the DNS server
MachinistProgrammer replied to MachinistProgrammer's topic in Developer General Discussion
its not so much that i want to make a domain name its more that i want to know how it works -
I was just wondering how to to create a domain name. i know it is somthing to do with communicating with ted dns server so it can associate an ip with a hostname so dose any one know how
-
Array/GDIPlus help!!
MachinistProgrammer replied to MachinistProgrammer's topic in AutoIt General Help and Support
im not the best with GDI+ can you show me how to implement the code -
EzSkin_1-2-3 (exe) 1,000+ Skin & Button Choices
MachinistProgrammer replied to Valuater's topic in AutoIt Example Scripts
their is not much support for 'lazy coders', e.g. a GUI Designer or script converter. Perhaps a good idea is to make a GUI designer or a somthing to convert regular GUI's into Xskin GUI's still it is Great! I did work on a GUI designer a while back but got board of it. -
im writing an icon editor but i cannot figure out how to write the fill bucket all of the pixels are avalable in th 64x64 image array #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <GuiButton.au3> #include <ButtonConstants.au3> #include <GDIPlus.au3> #include "ColorPicker.au3" #include <array.au3> #include <misc.au3> #include <WinAPI.au3> #include <GuiStatusBar.au3> _GDIPlus_Startup() Global $xpx = 64, $ypx = 64,$xap = @DesktopWidth-$xpx*10 Global $image[$xpx][$ypx][2], $3 = 0,$xp = Round($xap/2,-1) , $yp = 50 $Paint = GUICreate("Paint", 700, 700, -1, -1, -1, -1) GUISetState(@SW_SHOW) GUISetState(@SW_MAXIMIZE) $hGraphic = _GDIPlus_GraphicsCreateFromHWND($Paint) $rbrush = _GDIPlus_BrushCreateSolid() $ebrush = _GDIPlus_BrushCreateSolid() _GDIPlus_BrushSetSolidColor($ebrush, 0xFFFFFFFF) $hFile = GUICtrlCreateMenu('File') $hFile_New = GUICtrlCreateMenuItem('New ctrl + N',$hFile) $hFile_Open = GUICtrlCreateMenuItem('Open Ctrl + O',$hFile) GUICtrlCreateMenuItem('',$hFile) $hFile_Save = GUICtrlCreateMenuItem('Save Ctrl + S',$hFile) $hFile_SaveAs = GUICtrlCreateMenuItem('Save As Ctrl + Shift + S',$hFile) $hImage = GUICtrlCreateMenu("Image") $hImage_Clear = GUICtrlCreateMenuItem("Clear", $hImage) $Trans = GUICtrlCreateSlider(80, 0, 255, 20) $ps = GUICtrlCreateLabel('Transparency : 100 %',0,0,80,40) GUICtrlSetData($Trans, 255) For $i = 0 To $ypx - 1;loading background For $x = 0 To $xpx - 1 $p = _GDIPlus_GraphicsFillRect($hGraphic, $x * 10 + $xp, $i * 10 + $yp, 10, 10, $ebrush) $image[$i][$x][0] = '0x00FFFFFF' If $3 = 0 Then _GDIPlus_BrushSetSolidColor($ebrush, 0xFF999999) $3 = 1 Else _GDIPlus_BrushSetSolidColor($ebrush, 0xFFFFFFFF) $3 = 0 EndIf Next If $3 = 0 Then _GDIPlus_BrushSetSolidColor($ebrush, 0xFF999999) $3 = 1 Else _GDIPlus_BrushSetSolidColor($ebrush, 0xFFFFFFFF) $3 = 0 EndIf Next _GDIPlus_BrushSetSolidColor($rbrush, 0xFF000000) $e = GUICtrlCreateButton("eraser", 50, 50, 50, 50) $b = GUICtrlCreateButton("Brush", 0, 100, 50, 50) $hInstance = _WinAPI_LoadLibrary(@SystemDir & '\mspaint.exe') $hCursor = DllCall('user32.dll', 'ptr', 'LoadCursor', 'ptr', $hInstance, 'dword', 1204) $hCursor = $hCursor[0] _WinAPI_FreeLibrary($hInstance) $id = _GUIColorPicker_Create('', 0, 50, 50, 50, 0x000000, BitOR($CP_FLAG_DEFAULT, $CP_FLAG_CHOOSERBUTTON), 0, -1, -1, $hCursor, 'Colour Picker') $status = _GUICtrlStatusBar_Create($Paint) Local $aParts[3] = [150, 350, -1] _GUICtrlStatusBar_SetParts($status, $aParts) _GUICtrlStatusBar_SetText($status, 'Hex Colour Code : 0xFF000000', 1) _GUICtrlStatusBar_SetText($status, 'Color Name : Black') $er = 0 While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $hImage_Clear _GDIPlus_BrushSetSolidColor($rbrush, 0xFFFFFFFF) $3 = 0 For $i = 0 To $ypx - 1;loading background For $x = 0 To $xpx - 1 $p = _GDIPlus_GraphicsFillRect($hGraphic, $x * 10 + $xp, $i * 10 + $yp, 10, 10, $ebrush) If $3 = 0 Then _GDIPlus_BrushSetSolidColor($ebrush, 0xFF999999) $3 = 1 Else _GDIPlus_BrushSetSolidColor($ebrush, 0xFFFFFFFF) $3 = 0 EndIf Next If $3 = 0 Then _GDIPlus_BrushSetSolidColor($ebrush, 0xFF999999) $3 = 1 Else _GDIPlus_BrushSetSolidColor($ebrush, 0xFFFFFFFF) $3 = 0 EndIf Next Case $e $er = 1 Case $b $er = 0 case $trans $colour = _GDIPlus_BrushGetSolidColor($rbrush) Local $tran $tran = GUICtrlRead($Trans) GUICtrlSetData($ps,'Transparency : ' & $tran & " %") _GDIPlus_BrushSetSolidColor($rbrush,'0x' & Hex(Round($tran*2.55), 2) &StringTrimLeft(Hex($colour,8),2)) _GUICtrlStatusBar_SetText($status, 'Hex Colour Code : ' & '0x' & hex(Round($tran*2.55),2) &StringTrimLeft(Hex($colour,8),2), 1) Case $id $s = _GUIColorPicker_GetColor($id, 1) Local $tran $tran = GUICtrlRead($Trans) GUICtrlSetData($ps,'Transparency : ' & $tran & " %") $icolour = '0x' & Hex($tran*2, 2) & Hex($s[0], 6) _GUICtrlStatusBar_SetText($status, 'Hex Colour Code : ' & $icolour, 1) If $s[1] <> '' Then _GUICtrlStatusBar_SetText($status, 'Color Name : ' & $s[1]) Else _GUICtrlStatusBar_SetText($status, 'Color Name : No Name') EndIf _GDIPlus_BrushSetSolidColor($rbrush, $icolour) Case $GUI_EVENT_PRIMARYDOWN If $er Then _erase() Else _paint() EndIf EndSwitch WEnd _GDIPlus_GraphicsDispose($hGraphic) _GDIPlus_Shutdown() Func _paint() Do $cPos = GUIGetCursorInfo($Paint) Local $x = StringTrimRight($cPos[0], 1) & 0, $y = StringTrimRight($cPos[1], 1) & 0 If $x >= $xp And $y >= $yp And $x < $xpx * 10 + $xp And $y < $ypx * 10 + $yp Then $yx1 = $yp - $y $xx1 = $xp - $x $yx = StringReplace($yx1 / 10, "-", "") $xx = StringReplace($xx1 / 10, "-", "") If $image[$yx][$xx][0] <> '0x'&hex( _GDIPlus_BrushGetSolidColor($rbrush),8) Then $h = _GDIPlus_GraphicsFillRect($hGraphic, $x, $y, 10, 10, $rbrush) $image[$yx][$xx][0] = '0x'&hex( _GDIPlus_BrushGetSolidColor($rbrush),8) EndIf EndIf Until Not $cPos[2] EndFunc ;==>_paint Func _erase() Do $cPos = GUIGetCursorInfo($Paint) Local $x = StringTrimRight($cPos[0], 1) & 0, $y = StringTrimRight($cPos[1], 1) & 0 If $x >= $xp And $y >= $yp And $x < $xpx * 10 + $xp And $y < $ypx * 10 + $yp Then $yx1 = $yp - $y $xx1 = $xp - $x $yx = StringReplace($yx1 / 10, "-", "") $xx = StringReplace($xx1 / 10, "-", "") If isodd($xx) And isodd($yx) Then _GDIPlus_BrushSetSolidColor($ebrush, 0xFFFFFFFF) ElseIf isodd($xx) = 0 And isodd($yx) = 0 Then _GDIPlus_BrushSetSolidColor($ebrush, 0xFFFFFFFF) Else _GDIPlus_BrushSetSolidColor($ebrush, 0xFF999999) EndIf $h = _GDIPlus_GraphicsFillRect($hGraphic, $x, $y, 10, 10, $ebrush) $image[$yx][$xx][0] = '0x00FFFFFF' EndIf Until Not $cPos[2] EndFunc ;==>_erase Func isodd($number) $chr = StringRight($number, 1) Switch $chr Case 1, 3, 5, 7, 9 Return 0 Case 0, 2, 4, 6, 8 Return 1 EndSwitch EndFunc ;==>isodd
-
Never mind it does
-
works great. But Dose it support transparency E.G ARGB (alpha,red,green,blue)
-
Drawing on a window
MachinistProgrammer replied to MachinistProgrammer's topic in AutoIt GUI Help and Support
This ended up being my solution #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <GuiButton.au3> #include <ButtonConstants.au3> #include <GDIPlus.au3> ;#include "ColorPicker.au3" #include <array.au3> #include <misc.au3> #include <WinAPI.au3> #include <GuiStatusBar.au3> #region colourpicker.au3 #Region Header #cs Title: Color Picker Control UDF Library for AutoIt3 Filename: ColorPicker.au3 Description: Creates and manages a Color Picker control for the GUI Author: Yashied Version: 1.5 Requirements: AutoIt v3.3 +, Developed/Tested on WindowsXP Pro Service Pack 2 Uses: GUIConstantsEx.au3, GUIButton.au3, GUIImageList.au3, SendMessage.au3, StaticConstants.au3, WinAPI.au3, WindowsConstants.au3 Notes: The library registers (permanently) the following window message: WM_ACTIVATE WM_COMMAND WM_MOUSEWHEEL WM_SETCURSOR Available functions: _GUIColorPicker_Create _GUIColorPicker_Delete _GUIColorPicker_Release _GUIColorPicker_GetColor _GUIColorPicker_SetColor _GUIColorPicker_GetPalette _GUIColorPicker_SetPalette Example1: #Include <ColorPicker.au3> #Include <WinAPI.au3> Opt('MustDeclareVars', 1) Global $hForm, $Msg, $Label, $Picker1, $Picker2, $Picker3, $Data, $hInstance, $hCursor $hForm = GUICreate('Color Picker', 300, 200) ; Load cursor $hInstance = _WinAPI_LoadLibrary(@SystemDir & '\mspaint.exe') $hCursor = DllCall('user32.dll', 'ptr', 'LoadCursor', 'ptr', $hInstance, 'dword', 1204) $hCursor = $hCursor[0] _WinAPI_FreeLibrary($hInstance) ; Create Picker1 with custom cursor $Picker1 = _GUIColorPicker_Create('', 100, 50, 44, 44, 0xFF6600, BitOR($CP_FLAG_DEFAULT, $CP_FLAG_CHOOSERBUTTON), 0, -1, -1, $hCursor, 'Simple Text') ; Free cursor DllCall('user32.dll', 'int', 'DestroyCursor', 'ptr', $hCursor) ; Create custom (4 x 5) color palette Dim $aPalette[20] = _ [0xFFFFFF, 0x000000, 0xC0C0C0, 0x808080, _ 0xFF0000, 0x800000, 0xFFFF00, 0x808000, _ 0x00FF00, 0x008000, 0x00FFFF, 0x008080, _ 0x0000FF, 0x000080, 0xFF00FF, 0x800080, _ 0xC0DCC0, 0xA6CAF0, 0xFFFBF0, 0xA0A0A4] ; Create Picker2 with custom color palette $Picker2 = _GUIColorPicker_Create('', 7, 170, 50, 23, 0xFF00FF, BitOR($CP_FLAG_CHOOSERBUTTON, $CP_FLAG_ARROWSTYLE, $CP_FLAG_MOUSEWHEEL), $aPalette, 4, 5, 0, '', 'More...') ; Create custom (8 x 8) color palette Dim $aPalette[64] For $i = 0 To UBound($aPalette) - 1 $aPalette[$i] = BitOR($i, BitShift($i * 4, -8), BitShift($i, -16)) Next ; Create Picker3 with custom color palette $Picker3 = _GUIColorPicker_Create('Color...', 223, 170, 70, 23, 0x2DB42D, BitOR($CP_FLAG_TIP, $CP_FLAG_MAGNIFICATION), $aPalette, 8, 8) $Label = GUICtrlCreateLabel('', 194, 171, 22, 22, $SS_SUNKEN) GUICtrlSetBkColor(-1, 0x2DB42D) GUICtrlSetTip(-1, '2DB42D') GUISetState() While 1 $Msg = GUIGetMsg() Switch $Msg ; Color Picker sends the message that the color is selected Case $GUI_EVENT_CLOSE ExitLoop Case $Picker1 $Data = _GUIColorPicker_GetColor($Picker1, 1) If $Data[1] = '' Then $Data[1] = 'Custom' EndIf ConsoleWrite('Picker1: 0x' & Hex($Data[0], 6) & ' (' & $Data[1] &')' & @CR) Case $Picker2 ConsoleWrite('Picker2: 0x' & Hex(_GUIColorPicker_GetColor($Picker2), 6) & @CR) Case $Picker3 $Data = _GUIColorPicker_GetColor($Picker3) ConsoleWrite('Picker3: 0x' & Hex($Data, 6) & @CR) GUICtrlSetBkColor($Label, $Data) GUICtrlSetTip($Label, Hex($Data, 6)) EndSwitch WEnd Example2 (required ColorChooser.au3): #Include <ColorChooser.au3> #Include <ColorPicker.au3> Opt('MustDeclareVars', 1) Global $hForm, $Msg, $Label, $Picker $hForm = GUICreate('MyGUI', 170, 200) $Label = GUICtrlCreateLabel('', 15, 15, 140, 140, $SS_SUNKEN) GUICtrlSetBkColor(-1, 0x50CA1B) $Picker = _GUIColorPicker_Create('', 55, 166, 60, 23, 0x50CA1B, BitOR($CP_FLAG_CHOOSERBUTTON, $CP_FLAG_MAGNIFICATION, $CP_FLAG_ARROWSTYLE), 0, -1, -1, 0, 'Simple Text', 'Custom...', '_ColorChooserDialog') GUISetState() While 1 $Msg = GUIGetMsg() Switch $Msg Case $GUI_EVENT_CLOSE ExitLoop Case $Picker GUICtrlSetBkColor($Label, _GUIColorPicker_GetColor($Picker)) EndSwitch WEnd #ce #Include-once #Include <GUIConstantsEx.au3> #Include <GUIButton.au3> #Include <GUIImageList.au3> #Include <SendMessage.au3> #Include <StaticConstants.au3> #Include <WinAPI.au3> #Include <WindowsConstants.au3> #EndRegion Header #Region Global Variables and Constants Global Const $CP_FLAG_CHOOSERBUTTON = 0x01 Global Const $CP_FLAG_TIP = 0x02 Global Const $CP_FLAG_MAGNIFICATION = 0x04 Global Const $CP_FLAG_ARROWSTYLE = 0x08 ;Global Const $CP_FLAG_HANDCURSOR = 0x10 Global Const $CP_FLAG_MOUSEWHEEL = 0x20 Global Const $CP_FLAG_DEFAULT = BitOR($CP_FLAG_MAGNIFICATION, $CP_FLAG_MOUSEWHEEL) #EndRegion Global Variables and Constants #Region Local Variables and Constants Global Const $CP_WM_ACTIVATE = 0x0006 Global Const $CP_WM_COMMAND = 0x0111 Global Const $CP_WM_MOUSEWHEEL = 0x020A Global Const $CP_WM_SETCURSOR = 0x0020 Global Const $cpWidth = 8 Global Const $cpHeight = 5 Dim $cpPalette[$cpWidth * $cpHeight][2] = _ [[0x000000, 'Black' ], [0x993300, 'Brown' ], [0x333300, 'Olive Green' ], [0x003300, 'Dark Green' ], [0x003366, 'Dark Teal' ], [0x000080, 'Dark Blue' ], [0x333399, 'Indigo' ], [0x333333, 'Gray-80%'], _ [0x800000, 'Dark Red'], [0xFF6600, 'Orange' ], [0x808000, 'Dark Yellow' ], [0x008000, 'Green' ], [0x008080, 'Teal' ], [0x0000FF, 'Blue' ], [0x666699, 'Blue-Gray'], [0x808080, 'Gray-50%'], _ [0xFF0000, 'Red' ], [0xFF9900, 'Light Orange'], [0x99CC00, 'Lime' ], [0x339966, 'Sea Green' ], [0x33CCCC, 'Aqua' ], [0x3366FF, 'Light Blue'], [0x800080, 'Violet' ], [0x999999, 'Gray-40%'], _ [0xFF00FF, 'Pink' ], [0xFFCC00, 'Gold' ], [0xFFFF00, 'Yellow' ], [0x00FF00, 'Bright Green'], [0x00FFFF, 'Turquoise' ], [0x00CCFF, 'Sky Blue' ], [0x993366, 'Plum' ], [0xC0C0C0, 'Gray-25%'], _ [0xFF99CC, 'Rose' ], [0xFFCC99, 'Tan' ], [0xFFFF99, 'Light Yellow'], [0xCCFFCC, 'Light Green' ], [0xCCFFFF, 'Light Turquoise'], [0x99CCFF, 'Pale Blue' ], [0xCC99FF, 'Lavender' ], [0xFFFFFF, 'White' ]] Dim $cpId[1][17] = [[0, 0, 0, 0, 0, 0]] #cs DO NOT USE THIS ARRAY IN THE SCRIPT, INTERNAL USE ONLY! $cpId[0][0 ] - Count item of array [0][1 ] - Reserved [0][2 ] - Handle to the "Color Picker" window [0][3 ] - Dummy control (controlID) [0][4 ] - Handle to the cursor (current) [0][5 ] - WM_ACTIVATE control flag [0][6-16] - Don`t used $cpId[i][0 ] - The control identifier (controlID) as returned by GUICtrlCreateButton() [i][1 ] - Handle to the control (GUICtrlGetHandle($cpId[i][0])) [i][2 ] - Handle to the ImageList for further release [i][3 ] - Last selected color (in RGB) [i][4 ] - Custom palette [i][5 ] - Text of the button control [i][6 ] - Title of the "Color Picker" window [i][7 ] - Flags [i][8 ] - Text of the button for the "Color Chooser" dialog box [i][9 ] - Width of the palette (in color items) [i][10] - Height of the palette (in color items) [i][11] - Width of the control [i][12] - Height of the control [i][13] - Handle to the parnet window for a control [i][14] - Handle to the cursor (0 if not defined) [i][15] - User "Color Chooser" function [i][16] - Reserved #ce Global $__CP_WM0111 = 0 Global $__CP_WM0020 = 0 #EndRegion Local Variables and Constants #Region Initialization ; IMPORTANT! If you register the following window messages in your code, you should call handlers from this library until ; you return from your handlers, otherwise the Clor Picker controls will not work properly. For example: ; ; Func MY_WM_SETCURSOR($hWnd, $iMsg, $wParam, $lParam) ; Local $Result = CP_WM_SETCURSOR($hWnd, $iMsg, $wParam, $lParam) ; If Not $Result Then ; Return 0 ; EndIf ; ... ; Return $GUI_RUNDEFMSG ; EndFunc ;==>MY_WM_SETCURSOR GUIRegisterMsg($CP_WM_ACTIVATE, 'CP_WM_ACTIVATE') GUIRegisterMsg($CP_WM_COMMAND, 'CP_WM_COMMAND') GUIRegisterMsg($CP_WM_MOUSEWHEEL, 'CP_WM_MOUSEWHEEL') GUIRegisterMsg($CP_WM_SETCURSOR, 'CP_WM_SETCURSOR') #EndRegion Initialization #Region Public Functions ; #FUNCTION# ==================================================================================================================== ; Name...........: _GUIColorPicker_Create ; Description....: Creates a Color Picker control for the GUI. ; Syntax.........: _GUIColorPicker_Create ( $sText, $iLeft, $iTop, $iWidth, $iHeight [, $iRGB [, $iFlags [, $aPalette [, $iWidthPalette [, $iHeightPalette [, $hCursor [, $sTitle [, $sButton [, $sColorFunc]]]]]]]]] ) ; Parameters.....: $sText - The text of the button control. If the value of this parameter is "" then the button will ; display the rectangle with filled of current ($iRGB) color. ; $iLeft - The left side of the control. ; $iTop - The top of the control. ; $iWidth - The width of the control. ; $iHeight - The height of the control. ; $iRGB - Default selected color (in RGB). Default is 0 (Black). ; $iFlags - Defines a style of the "Color Picker" window. This parameter can be a combination of the following values. ; ; $CP_FLAG_CHOOSERBUTTON ; $CP_FLAG_TIP ; $CP_FLAG_MAGNIFICATION ; $CP_FLAG_ARROWSTYLE ; $CP_FLAG_HANDCURSOR (don't used) ; $CP_FLAG_MOUSEWHEEL ; ; (See constants section in this library) ; ; $aPalette - Custom color palette. This parameter should be an array of Width x Height (see more) items containing the ; values of colors for each label (in RGB). Default is 0 - uses a default palette. ; $iWidthPalette - Width of the palette (in color items). Minimum value of - 4. Default is (-1) - uses a default width. ; $iHeightPalette - Height of the palette (in color items). Minimum value of - 4. Default is (-1) - uses a default height. ; $hCursor - Handle to the user defined cursor. To use one of the predefined cursors set this parameter to ; one of the $IDC_... constants. Default is 0 - does not use cursor. ; $sTitle - Title of the "Color Picker" window. If the value of this parameter is "" then the title ; will not be displayed. Default is "". ; $sButton - The text of the button for the "Color Chooser" dialog box. Default is "Custom...". ; $sColorFunc - User "Color Chooser" dialog box function. To make the user function workable you have to define it ; with 2 function parameters otherwise the function won't be called. ; ; Func _MyColorChooserDialog($iColorRef, $hParent) ; ; A custom function must return a color value, in RGB, or (-1) if the user does not choose a color. ; If this parameter is empty string or not used, will be used Windows default "Color Chooser" function, ; like _ChooseColor() from Misc.au3 UDF library. This parameter is valid only if the ; $CP_FLAG_CHOOSERBUTTON flag is set. ; Return values..: Success - 1 ; Failure - 0 ; Author.........: Yashied ; Modified.......: ; Remarks........: The function copies the cursor ($hCursor) for internal use, and if the bitmap is no longer needed, it is necessary to ; release the resources associated with the bitmap by using the _WinAPI_DestroyCursor() function. $CP_FLAG_TIP flag is ; not valid if $hCursor parameter is used. ; Related........: ; Link...........: ; Example........: Yes ; =============================================================================================================================== Func _GUIColorPicker_Create($sText, $iLeft, $iTop, $iWidth, $iHeight, $iRGB = 0, $iFlags = -1, $aPalette = 0, $iWidthPalette = -1, $iHeightPalette = -1, $hCursor = 0, $sTitle = '', $sButton = 'Custom...', $sColorFunc = '') If $iFlags < 0 Then $iFlags = $CP_FLAG_DEFAULT EndIf $sText = StringStripWS($sText, 3) $sTitle = StringStripWS($sTitle, 3) $sButton = StringStripWS($sButton, 3) $sColorFunc = StringStripWS($sColorFunc, 3) $iFlags = BitOR($iFlags, 0x0080 * (StringLen($sText) = 0), 0x0100 * (StringLen($sTitle) > 0)) Local $ID = GUICtrlCreateButton($sText, $iLeft, $iTop, $iWidth, $iHeight) If $ID = 0 Then Return 0 EndIf Local $aData, $hPrev, $hImageList, $hID = GUICtrlGetHandle($ID) If BitAND($iFlags, 0x0080) Then If BitAND($iFlags, $CP_FLAG_ARROWSTYLE) Then $aData = CP_CreateArrowBitmap($iRGB, $iWidth - 10, $iHeight - 10) Else $aData = CP_CreateSolidBitmap($iRGB, $iWidth - 10, $iHeight - 10) EndIf $hImageList = _GUIImageList_Create($iWidth - 10, $iHeight - 10, 5, 1) _GUIImageList_Add($hImageList, $aData[0], $aData[1]) _GUICtrlButton_SetImageList($hID, $hImageList, 4) For $i = 0 To 1 _WinAPI_DeleteObject($aData[$i]) Next EndIf If $iWidthPalette < 4 Then $iWidthPalette = $cpWidth EndIf If $iHeightPalette < 4 Then $iHeightPalette = $cpHeight EndIf If $hCursor Then Switch $hCursor Case 32512 To 32516, 32640 To 32650 $hCursor = DllCall('user32.dll', 'ptr', 'LoadCursor', 'ptr', 0, 'dword', $hCursor) Case Else $hCursor = DllCall('user32.dll', 'ptr', 'CopyIcon', 'ptr', $hCursor) EndSwitch If (Not @error) And ($hCursor[0]) Then $hCursor = $hCursor[0] Else $hCursor = 0 EndIf EndIf ReDim $cpId[$cpId[0][0] + 2][UBound($cpId, 2)] $cpId[0][0] += 1 $cpId[$cpId[0][0]][0 ] = $ID $cpId[$cpId[0][0]][1 ] = $hID $cpId[$cpId[0][0]][2 ] = $hImageList $cpId[$cpId[0][0]][3 ] = $iRGB $cpId[$cpId[0][0]][4 ] = CP_ValidatePalette($aPalette, $iWidthPalette * $iHeightPalette, 0xFFFFFF) $cpId[$cpId[0][0]][5 ] = $sText $cpId[$cpId[0][0]][6 ] = $sTitle $cpId[$cpId[0][0]][7 ] = $iFlags $cpId[$cpId[0][0]][8 ] = $sButton $cpId[$cpId[0][0]][9 ] = $iWidthPalette $cpId[$cpId[0][0]][10] = $iHeightPalette $cpId[$cpId[0][0]][11] = $iWidth $cpId[$cpId[0][0]][12] = $iHeight $cpId[$cpId[0][0]][13] = _WinAPI_GetParent($hID) $cpId[$cpId[0][0]][14] = $hCursor $cpId[$cpId[0][0]][15] = $sColorFunc $cpId[$cpId[0][0]][16] = 0 Return $ID EndFunc ;==>_GUIColorPicker_Create ; #FUNCTION# ==================================================================================================================== ; Name...........: _GUIColorPicker_Delete ; Description....: Deletes a Color Picker control. ; Syntax.........: _GUIColorPicker_Delete ( $controlID ) ; Parameters.....: $controlID - The control identifier (controlID) as returned by a _GUIColorPicker_Create() function. ; Return values..: Success - 1 ; Failure - 0 ; Author.........: Yashied ; Modified.......: ; Remarks........: ; Related........: ; Link...........: ; Example........: Yes ; =============================================================================================================================== Func _GUIColorPicker_Delete($controlID) For $i = 1 To $cpId[0][0] If $cpId[$i][0] = $controlID Then If Not GUICtrlDelete($cpId[$i][0]) Then Return 0 EndIf If BitAND($cpId[$i][7], 0x0080) Then $cpId[$i][3] = -1 CP_SetColor($i) EndIf If $cpId[$i][14] Then DllCall('user32.dll', 'int', 'DestroyCursor', 'ptr', $cpId[$i][14]) EndIf For $j = $i To $cpId[0][0] - 1 For $k = 0 To UBound($cpId, 2) - 1 $cpId[$j][$k] = $cpId[$j + 1][$k] Next Next $cpId[0][0] -= 1 ReDim $cpId[$cpId[0][0] + 1][UBound($cpId, 2)] Return 1 EndIf Next Return 0 EndFunc ;==>_GUIColorPicker_Delete ; #FUNCTION# ==================================================================================================================== ; Name...........: _GUIColorPicker_Release ; Description....: Deletes all Color Picker controls for a window (GUI). ; Syntax.........: _GUIColorPicker_Release ( $hWnd ) ; Parameters.....: $hWnd - Handle to the window to be released. ; Return values..: Success - 1 ; Failure - 0 ; Author.........: Yashied ; Modified.......: ; Remarks........: ; Related........: ; Link...........: ; Example........: Yes ; =============================================================================================================================== Func _GUIColorPicker_Release($hWnd) If Not WinExists($hWnd) Then Return SetError(1, 0, 0) EndIf Local $Count = 1, $Result = 0 While $Count <= $cpId[0][0] If $cpId[$Count][13] = $hWnd Then If Not _GUIColorPicker_Delete($cpId[$Count][0]) Then Return 0 EndIf $Result = 1 Else $Count += 1 EndIf WEnd Return $Result EndFunc ;==>_GUIColorPicker_Release ; #FUNCTION# ==================================================================================================================== ; Name...........: _GUIColorPicker_GetColor ; Description....: Retrieves the selected color of the Color Picker control. ; Syntax.........: _GUIColorPicker_GetColor ( $controlID ) ; Parameters.....: $controlID - The control identifier (controlID) as returned by a _GUIColorPicker_Create() function. ; $iFlag - Determines return type, valid values: ; |0 - Returns value (in RGB) of the selected color (Default) ; |1 - Returns array of two elements ([0] - RGB color, [1] - name of color) ; Return values..: Success - Value depending on the $iFlag flag. ; Failure - (-1) ; Author.........: Yashied ; Modified.......: ; Remarks........: ; Related........: ; Link...........: ; Example........: Yes ; =============================================================================================================================== Func _GUIColorPicker_GetColor($controlID, $iFlag = 0) Local $Data, $Palette, $Name = '' For $i = 1 To $cpId[0][0] If $cpId[$i][0] = $controlID Then If $iFlag Then $Palette = $cpId[$i][4] For $j = 0 To UBound($Palette) - 1 If $cpId[$i][3] = $Palette[$j][0] Then $Name = $Palette[$j][1] ExitLoop EndIf Next Dim $Data[2] = [$cpId[$i][3], $Name] Return $Data Else Return $cpId[$i][3] EndIf EndIf Next Return -1 EndFunc ;==>_GUIColorPicker_GetColor ; #FUNCTION# ==================================================================================================================== ; Name...........: _GUIColorPicker_SetColor ; Description....: Sets the color for the Color Picker control. ; Syntax.........: _GUIColorPicker_SetColor ( $controlID, $iRGB ) ; Parameters.....: $controlID - The control identifier (controlID) as returned by a _GUIColorPicker_Create() function. ; $iRGB - The RGB color to use. ; Return values..: Success - 1 ; Failure - 0 ; Author.........: Yashied ; Modified.......: ; Remarks........: ; Related........: ; Link...........: ; Example........: Yes ; =============================================================================================================================== Func _GUIColorPicker_SetColor($controlID, $iRGB) For $i = 1 To $cpId[0][0] If $cpId[$i][0] = $controlID Then $cpId[$i][3] = $iRGB If BitAND($cpId[$i][7], 0x0080) Then CP_SetColor($i) EndIf Return 1 EndIf Next Return 0 EndFunc ;==>_GUIColorPicker_SetColor ; #FUNCTION# ==================================================================================================================== ; Name...........: _GUIColorPicker_GetPalette ; Description....: Retrieves the current palette of the Color Picker control. ; Syntax.........: _GUIColorPicker_GetPalette ( $controlID [, $iFlag]) ; Parameters.....: $controlID - The control identifier (controlID) as returned by a _GUIColorPicker_Create() function. ; $iFlag - Determines return type, valid values: ; |0 - Returns 1D array consisting of the values of color only (Default) ; |1 - Returns 2D array consisting of the values of color and its name ; Return values..: Success - Array of RGB colors for the current palette. ; Failure - 0 ; Author.........: Yashied ; Modified.......: ; Remarks........: ; Related........: ; Link...........: ; Example........: Yes ; =============================================================================================================================== Func _GUIColorPicker_GetPalette($controlID, $iFlag = 0) Local $Data, $Palette For $i = 1 To $cpId[0][0] If $cpId[$i][0] = $controlID Then If $iFlag Then Return $cpId[$i][4] Else $Palette = $cpId[$i][4] Dim $Data[UBound($Palette)] For $i = 0 To UBound($Palette) - 1 $Data[$i] = $Palette[$i][0] Next Return $Data EndIf EndIf Next Return 0 EndFunc ;==>_GUIColorPicker_GetPalette ; #FUNCTION# ==================================================================================================================== ; Name...........: _GUIColorPicker_SetPalette ; Description....: Sets the palette for the Color Picker control. ; Syntax.........: _GUIColorPicker_SetPalette ( $controlID, $aPalette ) ; Parameters.....: $controlID - The control identifier (controlID) as returned by a _GUIColorPicker_Create() function. ; $aPalette - Array of RGB colors for the palette to use. Dimension of the array should be Width x Height (See _GUIColorPicker_Create()). ; Return values..: Success - 1 ; Failure - 0 ; Author.........: Yashied ; Modified.......: ; Remarks........: ; Related........: ; Link...........: ; Example........: Yes ; =============================================================================================================================== Func _GUIColorPicker_SetPalette($controlID, $aPalette) For $i = 1 To $cpId[0][0] If $cpId[$i][0] = $controlID Then $cpId[$i][4] = CP_ValidatePalette($aPalette, $cpId[$i][9] * $cpId[$i][10], 0xFFFFFF) Return 1 EndIf Next Return 0 EndFunc ;==>_GUIColorPicker_SetPalette #EndRegion Public Functions #Region Internal Functions Func CP_Assign(ByRef $iVariable, $iValue) $iVariable = $iValue EndFunc ;==>CP_Assign Func CP_CreateArrowBitmap($iRGB, $iWidth, $iHeight) Local $hDC, $hBackDC, $hFrontDC, $hFront, $hBack, $hPen Local $aData[2] $hDC = _WinAPI_GetDC(0) $hBackDC = _WinAPI_CreateCompatibleDC($hDC) $hBack = _WinAPI_CreateSolidBitmap(0, 0, $iWidth, $iHeight) _WinAPI_SelectObject($hBackDC, $hBack) $hFrontDC = _WinAPI_CreateCompatibleDC($hDC) $hFront = _WinAPI_CreateSolidBitmap(0, 0xFFFFFF, $iWidth - 11, $iHeight) _WinAPI_SelectObject($hFrontDC, $hFront) _WinAPI_BitBlt($hBackDC, 0, 0, $iWidth - 11, $iHeight, $hFrontDC, 0, 0, $SRCCOPY) _WinAPI_DeleteObject($hFront) $hFront = _WinAPI_CreateSolidBitmap(0, $iRGB, $iWidth - 11 - 2, $iHeight - 2) _WinAPI_SelectObject($hFrontDC, $hFront) _WinAPI_BitBlt($hBackDC, 1, 1, $iWidth - 11 - 2, $iHeight - 2, $hFrontDC, 0, 0, $SRCCOPY) $aData[0] = $hBack _WinAPI_DeleteObject($hFront) $hBack = _WinAPI_CreateSolidBitmap(0, 0xFFFFFF, $iWidth, $iHeight) _WinAPI_SelectObject($hBackDC, $hBack) $hFront = _WinAPI_CreateSolidBitmap(0, 0, $iWidth - 11, $iHeight) _WinAPI_SelectObject($hFrontDC, $hFront) _WinAPI_BitBlt($hBackDC, 0, 0, $iWidth - 11, $iHeight, $hFrontDC, 0, 0, $SRCCOPY) _WinAPI_DeleteObject($hFront) $hPen = _WinAPI_CreatePen($PS_SOLID, 1, 0) _WinAPI_SelectObject($hBackDC, $hPen) For $i = 1 To 4 _WinAPI_DrawLine($hBackDC, $iWidth - $i - 4, Int($iHeight / 2) + Mod($iHeight, 2) - $i + 2, $iWidth + $i - 5, Int($iHeight / 2) + Mod($iHeight, 2) - $i + 2) Next $aData[1] = $hBack _WinAPI_DeleteObject($hPen) _WinAPI_ReleaseDC(0, $hDC) _WinAPI_DeleteDC($hFrontDC) _WinAPI_DeleteDC($hBackDC) Return $aData EndFunc ;==>CP_CreateArrowBitmap Func CP_CreateSolidBitmap($iRGB, $iWidth, $iHeight) Local $hDC, $hBackDC, $hFrontDC, $hFront, $hBack Local $aData[2] $hDC = _WinAPI_GetDC(0) $hBackDC = _WinAPI_CreateCompatibleDC($hDC) $hBack = _WinAPI_CreateSolidBitmap(0, 0xFFFFFF, $iWidth, $iHeight) _WinAPI_SelectObject($hBackDC, $hBack) $hFrontDC = _WinAPI_CreateCompatibleDC($hDC) $hFront = _WinAPI_CreateSolidBitmap(0, $iRGB, $iWidth - 2, $iHeight - 2) _WinAPI_SelectObject($hFrontDC, $hFront) _WinAPI_BitBlt($hBackDC, 1, 1, $iWidth - 2, $iHeight - 2, $hFrontDC, 0, 0, $SRCCOPY) $aData[0] = $hBack $aData[1] = 0 _WinAPI_DeleteObject($hFront) _WinAPI_ReleaseDC(0, $hDC) _WinAPI_DeleteDC($hFrontDC) _WinAPI_DeleteDC($hBackDC) Return $aData EndFunc ;==>CP_CreateSolidBitmap Func CP_ColorChooserDlg($iRGB, $hWnd) Local $tCHOOSECOLOR = DllStructCreate('dword;hwnd;hwnd;dword;ptr;dword;lparam;ptr;ptr') Local $tCC = DllStructCreate('int[16]') DllStructSetData($tCHOOSECOLOR, 1, DllStructGetSize($tCHOOSECOLOR)) DllStructSetData($tCHOOSECOLOR, 2, $hWnd) DllStructSetData($tCHOOSECOLOR, 4, CP_SwitchColor($iRGB)) DllStructSetData($tCHOOSECOLOR, 5, DllStructGetPtr($tCC)) DllStructSetData($tCHOOSECOLOR, 6, 0x103) Local $Ret = DllCall('comdlg32.dll', 'long', 'ChooseColor', 'ptr', DllStructGetPtr($tCHOOSECOLOR)) If $Ret[0] = 0 Then Return -1 EndIf Return CP_SwitchColor(DllStructGetData($tCHOOSECOLOR, 4)) EndFunc ;==>CP_ColorChooserDlg Func CP_Index($controlID, ByRef $aData) For $i = 0 To UBound($aData) - 1 If $aData[$i] = $controlID Then Return $i EndIf Next Return -1 EndFunc ;==>CP_Index Func CP_PickerDlg($ID) Local $Msg, $X, $Y, $Cursor, $Index, $Prev, $Rgb, $Size, $Active = 0, $Custom = -1, $Result = 0, $Pressed = False Local $Label[$cpId[$ID][9] * $cpId[$ID][10]] Local $Accel[2][2] = [['{ENTER}', 0], ['{ESC}', 0]] Local $Width = 25 * $cpId[$ID][9] + 3, $Height = 25 * $cpId[$ID][10] + 3 Local $dH = 28 * (BitAND($cpId[$ID][7], 0x0100) = 0x0100) Local $tRECT = _WinAPI_GetWindowRect($cpId[$ID][1]) Local $GUIOnEventMode = Opt('GUIOnEventMode', 0) Local $Taskbar = CP_TaskbarHeight() Local $Palette = $cpId[$ID][4] $X = DllStructGetData($tRECT, 1) $Y = DllStructGetData($tRECT, 4) If $X < 0 Then $X = 0 EndIf If $X > @DesktopWidth - ($Width + 6) Then $X = @DesktopWidth - ($Width + 6) EndIf If $Y < 0 Then $Y = 0 EndIf If $Y > @DesktopHeight - $Taskbar - $dH - 28 * BitAND($cpId[$ID][7], $CP_FLAG_CHOOSERBUTTON) - ($Height + 6) Then $Y = @DesktopHeight - $Taskbar - $dH - 28 * BitAND($cpId[$ID][7], $CP_FLAG_CHOOSERBUTTON) - ($Height + 6) EndIf $cpId[0][2] = GUICreate('', $Width, $Height + $dH + 28 * BitAND($cpId[$ID][7], $CP_FLAG_CHOOSERBUTTON), $X, $Y, $WS_POPUP, $WS_EX_DLGMODALFRAME, $cpId[$ID][13]) ; GUISetBkColor(0xFCFCFC, $cpId[0][2]) If BitAND($cpId[$ID][7], 0x0100) Then GUICtrlCreateLabel('', 4, 4, $Width - 8, 23, $SS_GRAYFRAME) GUICtrlCreateLabel($cpId[$ID][6], 6, 9, $Width - 12, 14, $SS_CENTER) GUICtrlSetFont(-1, 8.5, 400, 0, 'MS Shell Dlg') EndIf For $i = 1 To $cpId[$ID][10] For $j = 1 To $cpId[$ID][9] $Index = ($i - 1) * $cpId[$ID][9] + $j - 1 If ($Active = 0) And ($cpId[$ID][3] = $Palette[$Index][0]) And (BitAND($cpId[$ID][7], $CP_FLAG_MAGNIFICATION)) Then $Label[$Index] = GUICtrlCreateLabel('', 2 + 25 * ($j - 1), 2 + $dH + 25 * ($i - 1), 24, 24, $SS_SUNKEN) $Active = $Label[$Index] Else $Label[$Index] = GUICtrlCreateLabel('', 4 + 25 * ($j - 1), 4 + $dH + 25 * ($i - 1), 20, 20, $SS_SUNKEN) EndIf GUICtrlSetBkColor(-1, $Palette[$Index][0]) If BitAND($cpId[$ID][7], $CP_FLAG_TIP) Then GUICtrlSetTip(-1, $Palette[$Index][1]) EndIf If $cpId[$ID][14] Then GUICtrlSetState(-1, $GUI_DISABLE) EndIf Next Next $cpId[0][3] = GUICtrlCreateDummy() For $i = 0 To 1 $Accel[$i][1] = $cpId[0][3] Next If BitAND($cpId[$ID][7], $CP_FLAG_CHOOSERBUTTON) Then $Custom = GUICtrlCreateButton('', 0, 0) $Size = CP_StringSize($Custom, $cpId[$ID][8]) + 24 If $Size > $Width - 6 Then $Size = $Width - 6 EndIf GUICtrlSetPos(-1, Int(($Width - $Size) / 2), $Height + 2 + $dH, $Size + Mod($Width - $Size, 2), 21) GUICtrlSetFont(-1, 8.5, 400, 0, 'MS Shell Dlg') GUICtrlSetData(-1, $cpId[$ID][8]) EndIf GUISetAccelerators($Accel, $cpId[0][2]) GUISetState(@SW_SHOW, $cpId[0][2]) While 1 $Cursor = GUIGetCursorInfo($cpId[0][2]) If Not @error Then If CP_PtInRect($Cursor[0], $Cursor[1], 2, 2 + $dH, 25 * $cpId[$ID][9], $dH + 25 * $cpId[$ID][10]) Then $cpId[0][4] = $cpId[$ID][14] Else $cpId[0][4] = 0 EndIf If BitXOR($Active, $Cursor[4]) Then If Not $Cursor[2] Then For $i = 0 To UBound($Label) - 1 If $Cursor[4] = $Label[$i] Then If BitAND($cpId[$ID][7], $CP_FLAG_MAGNIFICATION) Then $Index = CP_Index($Active, $Label) GUICtrlSetPos($Active, 4 + 25 * Mod($Index, $cpId[$ID][9]), 4 + $dH + 25 * ($Index - Mod($Index, $cpId[$ID][9])) / $cpId[$ID][9], 20, 20) GUICtrlSetPos($Label[$i], 2 + 25 * Mod($i, $cpId[$ID][9]), 2 + $dH + 25 * ($i - Mod($i, $cpId[$ID][9])) / $cpId[$ID][9], 24, 24) EndIf $Active = $Label[$i] ExitLoop EndIf Next EndIf Else If ($Cursor[2]) And (Not $Pressed) Then $Index = CP_Index($Cursor[4], $Label) If $Index > -1 Then $cpId[$ID][3] = $Palette[$Index][0] $Result = 2 ExitLoop EndIf EndIf EndIf $Pressed = $Cursor[2] EndIf $Msg = GUIGetMsg() Switch $Msg Case $GUI_EVENT_CLOSE, $cpId[0][3] ExitLoop Case $Custom $Result = 1 ExitLoop EndSwitch WEnd $cpId[0][5] = 1 GUIDelete($cpId[0][2]) $cpId[0][2] = 0 $cpId[0][3] = 0 $cpId[0][4] = 0 $cpId[0][5] = 0 Opt('GUIOnEventMode', $GUIOnEventMode) Switch $Result Case 0 Return 0 Case 1 If $cpId[$ID][15] = '' Then $Rgb = CP_ColorChooserDlg($cpId[$ID][3], $cpId[$ID][13]) Else If (IsDeclared('ccData')) And ($cpId[$ID][15] = '_ColorChooserDialog') Then Execute('CP_Assign($Prev, $ccData[9])') Execute('CP_Assign($ccData[9], $cpId[$ID][14])') $Cursor = 1 Else $Cursor = 0 EndIf $Rgb = Call($cpId[$ID][15], $cpId[$ID][3], $cpId[$ID][13]) If (@error = 0xDEAD) And (@extended = 0xBEEF) Then $Rgb = -1 EndIf If $Cursor Then Execute('CP_Assign($ccData[9], $Prev)') EndIf EndIf If $Rgb < 0 Then _WinAPI_SetFocus($cpId[$ID][1]) Return 0 EndIf $cpId[$ID][3] = $Rgb ContinueCase Case 2 If BitAND($cpId[$ID][7], 0x0080) Then CP_SetColor($ID) EndIf EndSwitch _WinAPI_SetFocus($cpId[$ID][1]) Return 1 EndFunc ;==>CP_PickerDlg Func CP_PtInRect($iXn, $iYn, $iX1, $iY1, $iX2, $iY2) If ($iXn >= $iX1) And ($iXn <= $iX2) And ($iYn >= $iY1) And ($iYn <= $iY2) Then Return 1 Else Return 0 EndIf EndFunc ;==>CP_PtInRect Func CP_SetColor($ID) Local $aData If $cpId[$ID][3] < 0 Then _GUIImageList_Destroy($cpId[$ID][2]) Else If BitAND($cpId[$ID][7], $CP_FLAG_ARROWSTYLE) Then $aData = CP_CreateArrowBitmap($cpId[$ID][3], $cpId[$ID][11] - 10, $cpId[$ID][12] - 10) Else $aData = CP_CreateSolidBitmap($cpId[$ID][3], $cpId[$ID][11] - 10, $cpId[$ID][12] - 10) EndIf _GUIImageList_Remove($cpId[$ID][2]) _GUIImageList_Add($cpId[$ID][2], $aData[0], $aData[1]) _GUICtrlButton_SetImageList($cpId[$ID][1], $cpId[$ID][2], 4) For $i = 0 To 1 _WinAPI_DeleteObject($aData[$i]) Next EndIf EndFunc ;==>CP_SetColor Func CP_StringSize($hWnd, $sText) If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd) If Not $hWnd Then Return SetError(1, 0, 0) EndIf EndIf Local $hDC, $hFont, $hOld, $tSize $hDC = _WinAPI_GetDC($hWnd) $hFont = _SendMessage($hWnd, $WM_GETFONT) $hOld = _WinAPI_SelectObject($hDC, $hFont) $tSize = _WinAPI_GetTextExtentPoint32($hDC, $sText) _WinAPI_SelectObject($hDC, $hOld) _WinAPI_ReleaseDC($hWnd, $hDC) Return SetError(0, 0, DllStructGetData($tSize, 1)) EndFunc ;==>CP_StringSize Func CP_SwitchColor($iRGB) Return BitOR(BitAND($iRGB, 0x00FF00), BitShift(BitAND($iRGB, 0x0000FF), -16), BitShift(BitAND($iRGB, 0xFF0000), 16)) EndFunc ;==>CP_SwitchColor Func CP_TaskbarHeight() Local $tRECT = DllStructCreate($tagRECT) Local $Ret = DllCall('user32.dll', 'int', 'SystemParametersInfo', 'int', 48, 'int', 0, 'ptr', DllStructGetPtr($tRECT), 'int', 0) If (@error) Or ($Ret[0] = 0) Then Return SetError(1, 0, 0) EndIf Return @DesktopHeight - DllStructGetData($tRECT, 4) EndFunc ;==>CP_TaskbarHeight Func CP_ValidatePalette($aPalette, $iSize, $iRGB = 0) If Not IsArray($aPalette) Then $aPalette = $cpPalette EndIf Local $Data, $Dim = UBound($aPalette) Dim $Data[$Dim][2] Switch UBound($aPalette, 2) Case 0 For $i = 0 To $Dim - 1 $Data[$i][0] = $aPalette[$i] $Data[$i][1] = Hex($aPalette[$i], 6) Next Case 1 For $i = 0 To $Dim - 1 $Data[$i][0] = $aPalette[$i][0] $Data[$i][1] = Hex($aPalette[$i], 6) Next Case Else For $i = 0 To $Dim - 1 $Data[$i][0] = $aPalette[$i][0] $Data[$i][1] = $aPalette[$i][1] Next EndSwitch Select Case $Dim > $iSize ReDim $Data[$Dim][2] Case $Dim < $iSize ReDim $Data[$iSize][2] For $i = $Dim To $iSize - 1 $Data[$i][0] = $iRGB $Data[$i][1] = Hex($iRGB, 6) Next EndSelect Return $Data EndFunc ;==>CP_ValidatePalette #EndRegion Internal Functions #Region Windows Message Functions Func CP_WM_ACTIVATE($hWnd, $iMsg, $wParam, $lParam) Switch $hWnd Case $cpId[0][2] Switch BitAND($wParam, 0xFFFF) Case 0 ; WA_INACTIVE If Not $cpId[0][5] Then $cpId[0][5] = 1 _WinAPI_ShowWindow($cpId[0][2], @SW_HIDE) GUICtrlSendToDummy($cpId[0][3]) EndIf EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>CP_WM_ACTIVATE Func CP_WM_COMMAND($hWnd, $iMsg, $wParam, $lParam) ; Handler from ColorChooser.au3 If (IsDeclared('__CC_WM0111')) And (Not Eval('__CC_WM0111')) Then $__CP_WM0111 = 1 Call('CC' & '_WM_COMMAND', $hWnd, $iMsg, $wParam, $lParam) $__CP_WM0111 = 0 EndIf For $i = 1 To $cpId[0][0] If $cpId[$i][1] = $lParam Then If Number($wParam) > 0 Then If Not CP_PickerDlg($i) Then Return 0 EndIf EndIf ExitLoop EndIf Next Return $GUI_RUNDEFMSG EndFunc ;==>CP_WM_COMMAND Func CP_WM_MOUSEWHEEL($hWnd, $iMsg, $wParam, $lParam) Local $Focus = _WinAPI_GetFocus() For $i = 1 To $cpId[0][0] If ($cpId[$i][1] = $Focus) And (BitAND($cpId[$i][7], BitOR($CP_FLAG_MOUSEWHEEL, 0x0080)) = BitOR($CP_FLAG_MOUSEWHEEL, 0x0080)) Then Local $Palette = $cpId[$i][4] Local $Wheel = Round(BitShift($wParam, 16) / 120) Local $Max = UBound($Palette) - 1 Local $Pos, $Index = 0 For $j = 0 To $Max If $cpId[$i][3] = $Palette[$j][0] Then $Index = $j ExitLoop EndIf Next $Pos = $Index - $Wheel If $Pos < 0 Then $Pos = 0 EndIf If $Pos > $Max Then $Pos = $Max EndIf If BitXOR($Pos, $Index) Then $cpId[$i][3] = $Palette[$Pos][0] CP_SetColor($i) _WinAPI_SetFocus($cpId[$i][1]) _SendMessage($hWnd, $CP_WM_COMMAND, 0, $cpId[$i][1]) EndIf EndIf Next Return $GUI_RUNDEFMSG EndFunc ;==>CP_WM_MOUSEWHEEL Func CP_WM_SETCURSOR($hWnd, $iMsg, $wParam, $lParam) Local $Result ; Handler from ColorChooser.au3 If (IsDeclared('__CC_WM0020')) And (Not Eval('__CC_WM0020')) Then $__CP_WM0020 = 1 $Result = Call('CC' & '_WM_SETCURSOR', $hWnd, $iMsg, $wParam, $lParam) $__CP_WM0020 = 0 If Not $Result Then Return 0 EndIf EndIf Switch $hWnd Case $cpId[0][2] If $cpId[0][4] Then _WinAPI_SetCursor($cpId[0][4]) Return 0 EndIf EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>CP_WM_SETCURSOR #EndRegion Windows Message Functions #endregion _GDIPlus_Startup() Global $xpx = 32, $ypx = 32 Global $image[$xpx][$ypx][2], $3 = 0, $xp = 100, $yp = 50 $Paint = GUICreate("Paint", 500, 500, -1, -1, -1, -1) GUISetState(@SW_SHOW) $hGraphic = _GDIPlus_GraphicsCreateFromHWND($Paint) $rbrush = _GDIPlus_BrushCreateSolid() $ebrush = _GDIPlus_BrushCreateSolid() _GDIPlus_BrushSetSolidColor($ebrush, 0xFFFFFFFF) $hImage = GUICtrlCreateMenu("Image") $hImage_Clear = GUICtrlCreateMenuItem("Clear", $hImage) $Trans = GUICtrlCreateSlider(80, 0, 255, 20) $ps = GUICtrlCreateLabel('Transparency : 100 %',0,0,80,40) GUICtrlSetData($Trans, 255) For $i = 0 To $ypx - 1;loading background For $x = 0 To $xpx - 1 $p = _GDIPlus_GraphicsFillRect($hGraphic, $x * 10 + $xp, $i * 10 + $yp, 10, 10, $ebrush) $image[$i][$x][0] = '0x00FFFFFF' If $3 = 0 Then _GDIPlus_BrushSetSolidColor($ebrush, 0xFF999999) $3 = 1 Else _GDIPlus_BrushSetSolidColor($ebrush, 0xFFFFFFFF) $3 = 0 EndIf Next If $3 = 0 Then _GDIPlus_BrushSetSolidColor($ebrush, 0xFF999999) $3 = 1 Else _GDIPlus_BrushSetSolidColor($ebrush, 0xFFFFFFFF) $3 = 0 EndIf Next _GDIPlus_BrushSetSolidColor($rbrush, 0xFF000000) $e = GUICtrlCreateButton("eraser", 50, 50, 50, 50) $b = GUICtrlCreateButton("Brush", 0, 100, 50, 50) $hInstance = _WinAPI_LoadLibrary(@SystemDir & '\mspaint.exe') $hCursor = DllCall('user32.dll', 'ptr', 'LoadCursor', 'ptr', $hInstance, 'dword', 1204) $hCursor = $hCursor[0] _WinAPI_FreeLibrary($hInstance) $id = _GUIColorPicker_Create('', 0, 50, 50, 50, 0x000000, BitOR($CP_FLAG_DEFAULT, $CP_FLAG_CHOOSERBUTTON), 0, -1, -1, $hCursor, 'Colour Picker') $status = _GUICtrlStatusBar_Create($Paint) Local $aParts[3] = [150, 350, -1] _GUICtrlStatusBar_SetParts($status, $aParts) _GUICtrlStatusBar_SetText($status, 'Hex Colour Code : 0xFF000000', 1) _GUICtrlStatusBar_SetText($status, 'Color Name : Black') $er = 0 While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $hImage_Clear _GDIPlus_BrushSetSolidColor($rbrush, 0xFFFFFFFF) $3 = 0 For $i = 0 To $ypx - 1;loading background For $x = 0 To $xpx - 1 $p = _GDIPlus_GraphicsFillRect($hGraphic, $x * 10 + $xp, $i * 10 + $yp, 10, 10, $ebrush) If $3 = 0 Then _GDIPlus_BrushSetSolidColor($ebrush, 0xFF999999) $3 = 1 Else _GDIPlus_BrushSetSolidColor($ebrush, 0xFFFFFFFF) $3 = 0 EndIf Next If $3 = 0 Then _GDIPlus_BrushSetSolidColor($ebrush, 0xFF999999) $3 = 1 Else _GDIPlus_BrushSetSolidColor($ebrush, 0xFFFFFFFF) $3 = 0 EndIf Next Case $e $er = 1 Case $b $er = 0 case $trans $colour = _GDIPlus_BrushGetSolidColor($rbrush) Local $tran $tran = GUICtrlRead($Trans) GUICtrlSetData($ps,'Transparency : ' & $tran & " %") _GDIPlus_BrushSetSolidColor($rbrush,'0x' & Hex(Round($tran*2.55), 2) &StringTrimLeft(Hex($colour,8),2)) _GUICtrlStatusBar_SetText($status, 'Hex Colour Code : ' & '0x' & hex(Round($tran*2.55),2) &StringTrimLeft(Hex($colour,8),2), 1) Case $id $s = _GUIColorPicker_GetColor($id, 1) Local $tran $tran = GUICtrlRead($Trans) GUICtrlSetData($ps,'Transparency : ' & $tran & " %") $icolour = '0x' & Hex($tran*2, 2) & Hex($s[0], 6) _GUICtrlStatusBar_SetText($status, 'Hex Colour Code : ' & $icolour, 1) If $s[1] <> '' Then _GUICtrlStatusBar_SetText($status, 'Color Name : ' & $s[1]) Else _GUICtrlStatusBar_SetText($status, 'Color Name : No Name') EndIf _GDIPlus_BrushSetSolidColor($rbrush, $icolour) Case $GUI_EVENT_PRIMARYDOWN If $er Then _erase() Else _paint() EndIf EndSwitch WEnd _GDIPlus_GraphicsDispose($hGraphic) _GDIPlus_Shutdown() Func _paint() Do $cPos = GUIGetCursorInfo($Paint) Local $x = StringTrimRight($cPos[0], 1) & 0, $y = StringTrimRight($cPos[1], 1) & 0 If $x >= 100 And $y >= 50 And $x < $xpx * 10 + 100 And $y < $ypx * 10 + 50 Then $yx1 = 50 - $y $xx1 = 100 - $x $yx = StringReplace($yx1 / 10, "-", "") $xx = StringReplace($xx1 / 10, "-", "") If $image[$yx][$xx][0] <> '0x'&hex( _GDIPlus_BrushGetSolidColor($rbrush),8) Then $h = _GDIPlus_GraphicsFillRect($hGraphic, $x, $y, 10, 10, $rbrush) $image[$yx][$xx][0] = '0x'&hex( _GDIPlus_BrushGetSolidColor($rbrush),8) EndIf EndIf Until Not $cPos[2] EndFunc ;==>_paint Func _erase() Do $cPos = GUIGetCursorInfo($Paint) Local $x = StringTrimRight($cPos[0], 1) & 0, $y = StringTrimRight($cPos[1], 1) & 0 If $x >= 100 And $y >= 50 And $x < $xpx * 10 + 100 And $y < $ypx * 10 + 50 Then $yx1 = 50 - $y $xx1 = 100 - $x $yx = StringReplace($yx1 / 10, "-", "") $xx = StringReplace($xx1 / 10, "-", "") If isodd($xx) And isodd($yx) Then _GDIPlus_BrushSetSolidColor($ebrush, 0xFFFFFFFF) ElseIf isodd($xx) = 0 And isodd($yx) = 0 Then _GDIPlus_BrushSetSolidColor($ebrush, 0xFFFFFFFF) Else _GDIPlus_BrushSetSolidColor($ebrush, 0xFF999999) EndIf $h = _GDIPlus_GraphicsFillRect($hGraphic, $x, $y, 10, 10, $ebrush) $image[$yx][$xx][0] = '0x00FFFFFF' EndIf Until Not $cPos[2] EndFunc ;==>_erase Func isodd($number) $chr = StringRight($number, 1) Switch $chr Case 1, 3, 5, 7, 9 Return 0 Case 0, 2, 4, 6, 8 Return 1 EndSwitch EndFunc ;==>isodd -
im trying to make an image editor but i need to be able to draw on a GUI and have seen very little to do with it. i made a very crude script do do it but their hase to be a better way you need px.bmp #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #Include <GuiButton.au3> $Paint = GUICreate("Paint",350,350,-1,-1,-1,-1) GUISetState(@SW_SHOW,$Paint) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $GUI_EVENT_PRIMARYDOWN _paint() EndSwitch WEnd Func _paint() Do $cPos = GUIGetCursorInfo() GUICtrlCreatePic(@ScriptDir & "\px.bmp",$cPos[0],$cPos[1],10,10) Until Not $cPos[2] EndFunc Edit: Spelling error px.bmp
-
I know I'm not the first to make a Hover UDF, but i think a lot of the other Hover UDF are very complicated and hard to use so I made GUICtrl_hover it is light, easy to understand and only has one known bug (if you delete a GUI without disposing of old HoverIds will cause new items to trigger old HoverIds) GUICtrl_Hover.zip
-
Can Autoit create a Hostname?
MachinistProgrammer replied to MachinistProgrammer's topic in AutoIt General Help and Support
wouldn't that mean it would only work on my pc -
Is there a way to assign a name to an ip using autoit? (without a hosting service eg _createhost(@ipaddress1,"www.myserver.com.au")