• Offizieller Beitrag

    Ich habe mir eine kleine "App" gebastelt, um mal schnell eine Web-Seite aufzurufen, etwas zu suchen oder auf einer speziellen (hinterlegten) Seite zu suchen.
    (eine weniger umfangreiche Variante hatte ich irgendwo gepostet, aber nicht mehr gefunden :))
    - Direkt aufgerufene Links werden abgespeichert und können aus einer Linkliste wieder gewählt werden.
    - Link direkt eingeben od. aus Liste wählen - anschließend Suchbutton klicken
    - um auf einer speziellen Seite zu suchen: Suchbegriff eingeben und Seite aus der Liste wählen (Bei Start bereits vorhanden: AutoIt-DE, AutoIt-EN, MSDN)
    - beide Listen können in einem Konfigurationsfenster editiert werden
    - - Doppelklick zum Ändern, Übernahme Änderung mit Enter
    - - Doppelklick ins Leere: neuer Eintrag
    - - Kontextmenü: Eintrag löschen
    Das Tool "taucht ab", wenn es eine Seite aufruft und kann über das Tray-Menü wieder OnTop geholt werden, bei Bedarf auch dort versteckbar.
    Einstellungen werden in einer INI im User-Verzeichnis gespeichert.

    Edit: Da es wohl bei anderen Systemen Probleme beim Auslesen des Default-Browsers gibt, habe ich diese Funktion jetzt etwas verändert. Sollte nun funktionieren.

    MyWebApp.au3(1.1)
    [autoit]

    #Region - TimeStamp
    ; 2011-10-15 21:52:55 v 1.1
    #EndRegion - TimeStamp

    [/autoit] [autoit][/autoit] [autoit]

    #NoTrayIcon
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <StructureConstants.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Opt('GUICloseOnESC', 0)
    Opt('TrayAutoPause', 0)
    Opt('TrayMenuMode', 1)

    [/autoit] [autoit][/autoit] [autoit]

    HotKeySet("{ESC}", "_close")

    [/autoit] [autoit][/autoit] [autoit]

    Global $bData[6] = [5]
    ; String mit den Binärdaten von: web_search_22x22.ico
    $bData[1] &= "0x0000010001001616000001002000200800001600000028000000160000002C0000000100200000000000200F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000100000001000000010000000100000001000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000070000000E000000160000001A0000001D0000001F0000002100000021000000200000001F0000001D00000019000000130000000B0000000400000000000000000000000000000000000000000000000100000007000000190000003100000047070200641A0B0086372411A04E3A27AD53412FAC4435279C1B0F05810500006300000050000000400000002700000010000000030000000000000000000000000000000000000000000000050000000F0F0500313A230E905A4127DE66482CF9674626FF6E4E2FFF5C3815FF5D3B19FE5E4126F53E2308D12512007C050500300000001A0000000B0000000200000000000000000000000000000000000000000000000071543F245A3D1EAE866C54FBB09C89FFB9A692FF9B7E61FF7D552EFF683B0DFF5B2C00FF76522EFF7F6347FF462302F1442609863F2F1F1000000000000000000000000000000000000000000000000000000000836A5A1F664729C05E3812FF9F8368FFC2AE99FFC9B5A2FFC0A891FFAB8B6CFF835527FF74410FFF6F3D0CFF7C542DFF572D03FF4B2502FB4C2E118F3F1F1F0800000000000000000000000000000000000000001C00000964492CA05C350EFF623101FF98734EFFC5AE97FFC5AC93FFCCB49CFFD7C4B1FFC4AA8FFFA7815BFF84511FFF875A2DFF704113FF623911FF573615F75C43296900000000000000000000000000000000000000003E1F0051623F1EF56A3C0EFF784512FFA8835DFFD2BCA5FFD1B9A1FFD2BBA3FFD3BBA3FFD0B79EFFC4A587FFAC845BFF9C6F42FF8C5F33FF916D4AFF6A4521FF5D3F23D83A1D002300000000000000000000000033330005442000AB6C441EFF8A5F34FF966738FFBA9774FFD6BFA8FFD5BCA4FFD5BCA3FFD6BDA4FFCCAE90FFD1B69BFFD1B79EFFBC9977FFB18E6BFFB79C81FF957759FF765A3DFE5539226E0000000000000000000000003F170020583310DF7B5128FF9D734AFFB0875FFFD1B79EFFDFCCB8FFD8BFA5FFD9C0A6FFDAC1A7FFD4B89BFFD7BCA2FFD0B397FFCEB297FF76695DFF5C5147FF61564AFF5A4E44FF3F3329DD0000000500000000000000006A52353E684320F473410FFFAE8863FFD2B9A1FFDAC3ACFFA79786FF9E8B7AFFA89582FFDDC1A6FFD6B493FFDBC0A5FFD9BFA5FFD7BEA5FF5F5346FFA58B5CFFCDB572FFCDB470FFA28556FE564333A20000000000000000A496864C724C27FA794612FFB48E68FFE0CDBBFF786C5FFF655B52FF61574EFF6D5E4FFF886E53FFD6AF89FFDDC0A3FF917D6AFF6D5E50FF8C7554FFE4D28CFFFFFFFFFFFFFFFFFFFFFFFFFF7B654CDF0000000000000000AC9D924478522FF67F4B18FFAB7D50FFDECAB5FF70604EFFA89269FFB7A06FFFA1885FFF786552FFE4C9AEFF716150FF7B6C5DFF685C51FF796652FFD1BD97FFFFFFFFFFFFFFFFFFA09685FF443F3BF90000000000000000998579287D5C3AE682501EFFA57442FF594A3BFFD7BA72FFFFFFFFFFFFFFFFFFFFFFFFFFA28859FF676058FF776C61FFAC9A88FFCEBBA8FF6A635BFF403F3CFF585755FF70706DFF6C6A69FF414141FE181818DB000000007F7F660A745436BA885D32FFAD8053FF77624EFFE4D2A0FFFFFFFFFFFFFFFFFFDAC89BFF706146FF615A55FFB2A394FFCCBBA9FFC9B6A4FF897C6FFF333230FF494948FF686868FF707070FF4F4F4EFF232323CA0000000000000000614323666B4015FBA87D53FF7B6147FF8A7358FFB39B76FFA38D69FF7B7362FF585655FF474543FF958D84FF796D62FF887869FF817567FF433F39FF3E3E3DFF5E5E5EFF707070FF5B5B5BFF2E2E2ED5000000000000000050352813542E08BB8B5D30FFAC7947FF534435FF3E3E3EFF5E5E5EFF757575FF636363FF3E3E3EFF696158FF675543FF735C46FF594C3FFF3A3530FF333231FF535251FF6C6C6CFE646464FE373737E300000000000000000000000041230533704B27D7926130FFB5824EFF4E463EFF4F4F4FFF6F6F6FFF6B6B6BFF4B4B4BFF393633FF322C26FF4F4337FF4F4438FF2B2B29FF303030FF454545FE5F5F5EFE595959FE434343FE00000000000000000000000000000000644B323D785531CD9B7045FF8A735CFF4B4948FF616161FF6E6E6EFF575757FF3B3B3BFF383838FF494948FF454544FF454545FF4A4A4AFF4E4E4EFE515151FF545454FF363636FF00000000000000000000000000000000000000005741242380664D95A99279E65E5954FF535353FF616161FF5A5A5AFF575757FF505050FF50504FFF525252FE444444FE535353FA696969F9525252FF303030FE121212FE0000000000000000000000000000000000000000000000003F3F3F0479685C2C8675626A4E4E4EFF6A6A6AFF6E6E6EFF676767FF4B4B4BFF323232FE4B4B4BFE373737F2000000000000000000000000484848FA2C2C2CF00000000000000000000000000000000000000000000000000000000000000000000000000A0A0A5E222222D8414141FE5B5B5BFF4C4C4CAD313131584747474F000000000000000000000000000000000000000000000000FF"
    $bData[1] &= "FFFC00FFFFFC00FF03FC00FC01FC00F8007C00F0003C00E0003C00E0001C00C0001C00C0000C00C0000400C0000400C0000400C0000000C0000000E0000000E0000000F0000000F8000000FC000000FF807000FFC3FC0000000000000000000000000000000000"
    ; String mit den Binärdaten von: internet-web-browser-3.ico
    $bData[2] &= "0x0000010001001616000000000000100800001600000028000000160000002C00000001002000000000009007000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00535755074A4E4C1B0000000A000000150000001D0000002300000027000000290804022D0000002B000000290000002600000021000000160000000B00000004FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004B4E4C247B7F7DF16E7070FA4B4F4D910000002F4A281161683918957B441EC7844920ED884E25FE844920EE7B441EC9673818984A281166000000340000002C000000230000001700000006FFFFFF00FFFFFF0000000008484B4A66A7A9A7F8F9F9F9FF676A68F9744320C18E562EF77A634FFD6C6459FFB68762FFB98964FFB68561FFAC7953FF9F6A43FC8C542CF878421DC41D0F064A00000033000000280000001C0000000D000000010000000E2D2F2E336D706EF9FEFEFEFFC2C2C0FF7C6350FD847764FF7C7F7CFF635F59FFA66838FFA46534FFA66838FFAA7042FFAF784DFFB88862FFA06B45FB854921F2552E14730000002F0000002200000016FFFFFF000000000C0000001859554FC4D4D4D3FFFAFBFAFF606663FF757C79FFF1F2F2FF635F57FFA46534FFA46534FFA46534FFA46534FFA46534FF738460FF908B68FFB3825DFF8C532BF75C32156700000021000000145357550A5054524E4F4D48656B503BF5747774FFFEFEFEFFD2D3D3FFF6F6F6FFF7F7F7FF656058FFA76938FFA76939FFA76939FFA76938FFA66737FF3CA48DFF2CAD9AFFA07B52FFB3835FFF874B22ED361D0C230000000B53575542535755FFA6A7A6FDBCBCBBFFC2C2C1FFF9F9F9FFFFFFFFFFEFEFEFFFF6F6F6FF61645DFFAB6F40FFAC7041FFAC7041FFAB6F40FF9B764AFF2BB3A0FF29B09DFF6D8764FFB6845DFFA36F4AF8864A20A5FFFFFF00FFFFFF005E584F94757673FFF6F6F6FFF9F9F9FFECECECFFEDEDEDFFE0E0E0FFF5F5F5FF636A65FFBC8B65FFB7825AFFB07649FFB07548FFA5794CFF2EB7A4FF2BB3A0FF31AB96FFA96D3EFFBD906EFF91562FF4874A2031FFFFFF00874A2067806855FB737572FFF6F7F7FFEBEBEBFFDFDFDFFFE7E7E7FFF4F4F4FF5E6B65FFB57C4FFFBC8861FFC39672FFB78054FF968962FF30BAA7FF2DB7A4FF32AE99FFA86F40FFB7855EFFA5724DF7874A206DFFFFFF00884B21A8B68969FF8A6D55FF727270FFF7F7F7FFF1F1F1FFECECECFFF4F4F4FF6E6A62FFBB865CFFBA8358FFA98C66FFBE9E7EFF79A182FF33BEABFF30BAA7FF2CB5A2FF6F8F6EFFB57F56FFB48664FF884B21AAFFFFFF00884B21E0C5A083FFB58057FF797B67FF6B716EFFF7F7F7FFF9F9F9FFF3F3F3FF73706AFFD4B296FFC2A98BFF45C3B0FF40C8B6FF5BCFBFFF35C1AEFF32BDAAFF2FB6A3FF45A58DFFB2794DFFC29A7CFF884B21E1FFFFFF00894D23FBB3AC93FF6EAF99FF6F9271FF917156FF6D6F6CFFF7F7F7FFF2F2F2FF746F68FFD7B59CFFBAC4AEFF5CD6C6FF3CCCB9FF5AD1C2FF3AC6B3FF34BFACFF51AB93FF45A991FF8D855FFFCBA689FF8A4E24FBFFFFFF00894B21DB89AA91FF8DA78CFFAE7C4FFFC29774FFA58F7DFF6B6D6AFFD9DAD9FF746C63FFCCA07CFFCDC1AAFF7BDFD2FF3FD0BDFF4ED0BFFF4ACBBAFF35C2AFFF62A88CFF37B19CFF719879FFBFA285FF894C21DDFFFFFF00884B21A1A69A7EFF4DBBABFF49A58CFFA2B49CFFD5B297FFA1836BFF565957FF756E64FFCB9A74FFDEBEA5FFB2D1BFFF4AD5C3FF48CEBCFF76C3AEFF64B196FF36BAA7FF34B39FFF35AD98FFBA9374FF884C21A4FFFFFF00874A2062AE8160F760BBAAFF2BB3A0FF56C5B5FFC1BCA3FFD1AA8AFFA58367FFA6886DFFD4AA88FFE1C3ACFFC4C9B3FF89BB9FFFB6AF8FFFA6AD8EFF73AD91FF36BBA8FF2EB7A4FF6BA990FFAE805FF6874A2068FFFFFF00874A2025935B34F6A7C2B1FF2BB3A0FF39BDABFF7ED4C7FFBBC3AEFFD5B79CFFDAB69AFFE2C4ACFFE4C7B0FFD0BB9EFF5ECEB8FF72D2C0FF45C9B5FF37C5B2FF33BEABFF2EB8A5FFADB29AFF915A34F5874A2029FFFFFF00FFFFFF00884B218FB18C6EF872BDAAFF41B39DFF79B9A2FF78D7CBFFC7C4AEFFE0C1AAFFE3C5AEFFE1BFA4FFCDAD8BFF9DB296FF81CDBAFF44C7B3FF37C4B1FF33BEABFF74B49EFFAE8160F7894C2291FFFFFF00FFFFFF00FFFFFF00874A20078A4C23DFCDB8A2FE79B69FFFA59672FF93A483FFD0A584FFB7B194FFC4A888FFD7AA86FFC3AB8AFFB8BAA1FF5AC6B1FF7EB296FF3DC1ACFF5DB7A0FFCAAA90FF894C22E2874A2008FFFFFF00FFFFFF00FFFFFF00FFFFFF00874A20328F572FF6CBB49EFEADC4B1FF8DA385FF939F7FFF7CA587FF40AF9AFF96BEA5FFBDB89DFFD1A37FFFAAA786FF6EB89FFFA8BDA7FFC3AC93FE8F562FF7874A2038FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00874A20308A4D22DDB28869F7A9C4B3FF9BBFABFF6CBDABFF4DBEAFFF4DCFBEFFA1B396FFD6AF90FFD9B79CFFDFC4B0FFB18565F78A4E24E1874A2035FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00874A2006894C228A925A33F6B08465F3BBA187FEC3B8A2FFC1C9B5FFD7BBA5FFC6A388FEB38768F4925A33F6894C2291874A2008FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00874A2020874A205A884C22928B4E24D0884D22F18B4E25D0894C2293874A205B874A2022FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF"
    $bData[2] &= "FFFF00E301FF00E0007F00E0003F00E0001F00E0000F008000070080000600C00006008000030080000200800002008000020080000200C0000600C0000700C0000700E0000F00F0001F00F8003F00FC007F00FF83FF00"
    ; String mit den Binärdaten von: zoom-3.ico
    $bData[3] &= "0x0000010001001616000000000000100800001600000028000000160000002C000000010020000000000090070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004C4C4CF1727272FF858585FF656565FB0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000595959D9A0A0A0FFF2F2F2FF909090FF979797FF00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000606060D9A5A5A5FFFDFDFDFFECECECFFC7C7C7FF858585FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000696969D9ABABABFFFAFAFAFFEDEDEDFFCCCCCCFFA2A2A2FF6D6D6DFA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000757575D9AEAEAEFFFBFBFBFFECECECFFCCCCCCFFA5A5A5FF767676FA00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007F7F7FD9B4B4B4FFFAFAFAFFEDEDEDFFCDCDCDFFA9A9A9FF828282FA0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009B9B9BFFF4F4F4FFEEEEEEFFCDCDCDFFADADADFF8B8B8BFA0000000000000000000000000000000000000000000000005656563A595959F36E6E6EFF8C8C8CFF8C8C8CFF898989FF515151FD4A4A4AD98C8C8C7F7B7B7B92ADADADFFB6B6B6FFCCCCCCFFB0B0B0FF939393FA000000000000000000000000000000000000000000000000626262C7898989FFCDCDCDFFF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFB7B7B7FF757575FF999999FFBFBFBFFFB7B7B7FFACACACFF9C9C9CFA000000000000000000000000000000000000000000000000686868C7A3A3A3FFE8E8E8FFF6F6F6FFF9F9F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFECECECFF848484FF8C8C8CFF858585C7AEAEAE3C0000000000000000000000000000000000000000000000006C6C6C3A979797FFDEDEDEFFF0F0F0FFECECECFFF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEDEDEDFF757575FF7575756A000000000000000000000000000000000000000000000000000000007F7F7FF3C5C5C5FFE8E8E8FFE6E6E6FFE9E9E9FFF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAEAEAEFF5656567F00000000000000000000000000000000000000000000000000000000A2A2A2FFD7D7D7FFE8E8E8FFDDDDDDFFEDEDEDFFF9F9F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7E7E7FF696969F300000000000000000000000000000000000000000000000000000000B5B5B5FFDDDDDDFFE4E4E4FFEEEEEEFFF5F5F5FFF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7C7C7CFE00000000000000000000000000000000000000000000000000000000B7B7B7FFDBDBDBFFE6E6E6FFE7E7E7FFEBEBEBFFF2F2F2FFF7F7F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF858585FE00000000000000000000000000000000000000000000000000000000BCBCBCFFD7D7D7FFE4E4E4FFF5F5F5FFFFFFFFFFFFFFFFFFFEFEFEFFF9F9F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF909090FE00000000000000000000000000000000000000000000000000000000BFBFBFFFCECECEFFE0E0E0FFF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEEFFFFFFFFFFFAFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFECECECFF939393F300000000000000000000000000000000000000000000000000000000C3C3C3F8C9C9C9FFDADADAFFEDEDEDFFFDFDFDFFFFFFFFFFFFFFFFFFEBEBEBFFFEFEFEFFF0F0F0FFF4F4F4FFF6F6F6FFFAFAFAFFC8C8C8FF9A9A9A9000000000000000000000000000000000000000000000000000000000BABABA6AD0D0D0FFCBCBCBFFDFDFDFFFEEEEEEFFF6F6F6FFFAFAFAFFF5F5F5FFE9E9E9FFE4E4E4FFEDEDEDFFF5F5F5FFE2E2E2FFB1B1B1FE000000000000000000000000000000000000000000000000000000000000000000000000C8C8C8D9D0D0D0FFCBCBCBFFDBDBDBFFE3E3E3FFE7E7E7FFE7E7E7FFE2E2E2FFE9E9E9FFECECECFFE0E0E0FFC7C7C7FFA8A8A85400000000000000000000000000000000000000000000000000000000000000000000000000000000D1D1D1D9D6D6D6FFC5C5C5FFD0D0D0FFDBDBDBFFDEDEDEFFDEDEDEFFDADADAFFD4D4D4FFC9C9C9FFBABABA90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000D2D2D26ADDDDDDFADEDEDEFFD7D7D7FFD1D1D1FFD9D9D9FFD5D5D5FFCCCCCCE60000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF"
    $bData[3] &= "FFC100FFFF8300FFFF0300FFFE0300FFFC0700FFF80F00FFF81F00F0103F00C0007F008001FF008003FE000003FE000001FC000001FC000001FC000001FC000001FC000001FC008003FC008007FE00C007FE00F01FFF00"
    ; String mit den Binärdaten von: list.ico
    $bData[4] &= "0x0000010001001616000000000000100800001600000028000000160000002C00000001002000000000009007000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0090827180827264D0817061CD817061CD806F61CD806F60CD806E60CD806E5FCD7F6D5ECD7F6C5DCD7E6C5DCD7E6C5DCD806E5ECD827060CB7E6C5DCD7E6C5DCD7E6C5DCD81705FCC857062CB837062CD837162D19283747C94806DFDF3E6D9FFF3E6D9FFF3E6D9FFF3E6D9FFF3E6D9FFF3E6D9FFF3E6D9FFF3E6D9FFF3E6D9FFF3E6D9FFF3E6D9FFF3E6D9FFF3E6D9FFF3E6D9FFF3E6D9FFF3E6D9FFF3E6D9FFF3E6D9FFF3E6D9FFF3E6D9FF978370FD978473FFF6E6D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E6D9FFA58F7BFF978374FFF8E9D9FFFFFFFFFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFFFFFFFFFFFFFFFFFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFFFFFFFFFFF3E6D9FFA4907CFF978473FFF8E8D8FFFFFFFFFF5DAFFBFF00F2FFFF00F2FFFF5DAFFBFFFFFFFFFFFFFFFFFF5DAFFBFF00F2FFFF00F2FFFF00F2FFFF00F2FFFF00F2FFFF00F2FFFF00F2FFFF00F2FFFF5DAFFBFFFFFFFFFFF3E6D9FFA48F7BFF978372FFF8E7D7FFFFFFFFFF5DAFFBFF00F2FFFF00F2FFFF5DAFFBFFFFFFFFFFFFFFFFFF5DAFFBFF00F2FFFF00F2FFFF00F2FFFF00F2FFFF00F2FFFF00F2FFFF00F2FFFF00F2FFFF5DAFFBFFFFFFFFFFF3E6D9FFA38E7BFF988472FFEDDCCBFFFFFFFFFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFFFFFFFFFFFFFFFFFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFFFFFFFFFFF3E6D9FFA38E7AFF988472FFF7E5D4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E6D9FFA58D79FF988371FFF7E4D3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3E6D9FFA38D78FF988370FFF6E3D2FFFFFFFFFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFFFFFFFFFFFFFFFFFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFFFFFFFFFFF3E6D9FF9A8674FF988270FFEEDBC9FFFFFFFFFF5DAFFBFF00F2FFFF00F2FFFF5DAFFBFFFFFFFFFFFFFFFFFF5DAFFBFF00F2FFFF00F2FFFF00F2FFFF00F2FFFF00F2FFFF00F2FFFF00F2FFFF00F2FFFF5DAFFBFFFFFFFFFFF3E6D9FF9A8673FF978270FFEDDAC8FFFFFFFFFF5DAFFBFF00F2FFFF00F2FFFF5DAFFBFFFFFFFFFFFFFFFFFF5DAFFBFF00F2FFFF00F2FFFF00F2FFFF00F2FFFF00F2FFFF00F2FFFF00F2FFFF00F2FFFF5DAFFBFFFFFFFFFFF3E5D8FF9A8573FF97826FFFF6E1CEFFFFFFFFFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFFFFFFFFFFFFFFFFFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFF5DAFFBFFFFFFFFFFF9EADDFF9A8572FF97816EFFF5E0CDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E9DCFF9A8471FF97816EFFF5DFCCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8E8DBFF998471FF97816DFFF4DCCBFFF4DBCAFFF4DBCAFFF4DBCAFFF4DBCAFFF4DBCAFFF4DBCAFFF4DBCAFFF4DBCAFFF4DBCAFFF4DBCAFFF0D9CAFFF2DACAFFF4DBCAFFF4DBCAFFF4DBCAFFF4DBCAFFF4DBCAFFF4DBCAFFF4DCCBFF998470FF96806EFFAC9B91FFAD9B91FFAC9A91FFAD9A91FFAD9B91FFAD9B91FFAD9B91FFAD9B91FFAD9B91FFAD9B91FFAD9B91FFAD9B91FFAD9B91FFAD9C91FFAD9C91FFAD9C91FFAD9C91FFAD9C91FFAD9C91FFAC9B91FF9A8572FF947F6DFFE8DED9FFE2D7D2FFE0D5CDFFDDD1C9FFDCD0C6FFDACCC3FFD8C9C0FFD7C5BCFFD4C2B9FFD2C1B6FFD2C2B6FFD4C2B9FFD5C6BDFFD8C8BEFFDACBC2FFDCCEC5FFE2D7D0FFE4DAD5FFE4DAD5FFE7E0DBFF998472FF948377E4E8DED9FFE2D7D2FFE0D5CDFFDDD1C9FFDCD0C6FFDACCC3FFD8C9C0FFD7C5BCFFD4C2B9FFD2C1B6FFD2C2B6FFD4C2B9FFD5C6BDFFD5C6BDFFE5DAD5FFE8E0D9FFECE4E0FFE9E1DDFFF1EDE9FFEAE5E1FF94857AE0A99B8CA3918071E78E7C6CE18C7A6AE18A7868E1897665E1887464E1867161E1867160E1846F5DE1826E5CE1826E5CE1846F5DE184705FE1867161E1867362E1877564E18D7B6BE18F7D6EE18E7C6DE1918070E7AC9E909BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FF"
    $bData[4] &= "FFFF000000070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFC00"
    ; String mit den Binärdaten von: preferences-system-2.ico
    $bData[5] &= "0x0000010001001616000000000000100800001600000028000000160000002C000000010020000000000090070000000000000000000000000000000000000000000000000000A0623231874A20FF874A20FF874A20FF8D572C1D00000005000000040000000400000004000000050000000500000006000000060000000700000006000000060000000400000002000000010000000000000000A0623231874A20FFA1856CFFA1856CFF957B63FF874A20FF7C4C273F613C1E2A00000012000000120000001300000014000000140000001300000014000000120000000F0000000B00000006000000030000000200000000874A20FFA1856CFFD2B89DFFE2D1C0FFBEA691FF89715BFF874A20FF462B163A00000026000000260000002800000028000000260000002700000027000000240000001D000000120000000A000000060000000300000000874A20FFDBC6B0FFF6F2EDFF958A81FFD2B89DFFAE9075FF89715BFF874A20FF4128143F0000002B0000002D0000002E00000030000000320000003146464657919191FF7F7F7FFF7D7D7DC9787878500000000300000000874A20FFBEA691FFF7F4F0FFB6A597FF8F7660FFD2B89DFFAE9075FF89715BFF874A20FF55341B3052321A320000001D0000001F3A3A3A365252524A7F7F7FFFFEFEFEFFF2F3F3FFF0F0F0FF7F7F7FFF0000000200000000A4653430874A20FFC8B4A1FFF6F3EEFFA99381FF8F7660FFD2B89DFFAE9075FF89715BFF874A20FF714624240000000B0000000C6767673B7F7F7FFFFEFEFEFFE1E3E4FF5E5F5FFFFEFEFEFF7F7F7FFF000000000000000000000000A4653419874A20FFC3AD99FFF0E7DFFFA99381FF846D58FFD1B79CFFAC8E73FF856E58FF84481EFF6868681C797979327F7F7FFFFEFEFEFFE7E9EBFFE7E9EBFFFEFEFEFF868686FF7F7F7F3000000000000000000000000000000000A4653419874A20FFB69C84FFEDE2D7FFA4978CFF917860FFC5AC93FF826B56FF77411BFF7F7F7F307F7F7FFFFEFEFEFFE7E9EBFFE7E9EBFFFEFEFEFF7F7F7FFF7F7F7F30000000000000000000000000000000000000000000000000A4653419874A20FFAE9075FFE6DBCFFFAEA195FFAA9682FF6D5A48FF5F3315FF7F7F7FFFFEFEFEFFE7E9EBFFE7E9EBFFFEFEFEFF7F7F7FFF7F7F7F300000000000000000000000000000000000000000000000000000000000000000A4653419874A20FFA78B70FFB5A28FFF887867FF522D13FF7F7F7FFFFEFEFEFFE7E9EBFFE7E9EBFFFEFEFEFF7F7F7FFF7F7F7F3000000000000000000000000000000000000000000000000000000000000000000000000000000000A465341981461EFF733F1AFF5C3214FF7F7F7FFFFEFEFEFFE7E9EBFFE7E9EBFFFEFEFEFF7F7F7FFF7F7F7F19000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007F7F7F307F7F7FFFFEFEFEFFE7E9EBFFE7E9EBFFFEFEFEFF7F7F7FFF7F7F7F300000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000007F7F7F197F7F7F567F7F7FFFF8F9F9FFE7E9EBFFE7E9EBFFFEFEFEFF7F7F7FFF663E1FFF2A190D3000000000000000000000000000000000000000010000000000000000000000007F7F7F309E9E9ECC7F7F7FFF7F7F7FFF7F7F7FFFB5B5B5FAF8F9F9FFE8EAECFFE7E9EBFFF5F6F6FF7F7F7FFF6D4222FFB4B4B4FF814F28FF4F3019300000000000000000000000000000000000000001000000007F7F7F19878787EFCACDCFFFF7F8F8FFF8F9F9FFF7F9F9FFF8F9F9FFE7E9EBFFE7E9EBFFF7F8F9FF7F7F7FFF7F7F7F19462A15308A552BFFE4E4E4FF9B5F30FF8D572C440000000000000000000000000000000000000000999999D3E6E7E8FFEFF1F2FFE9EBEDFFE8EAECFFE7E9EBFFE7E9EBFFE7E9EBFFF8F9F9FF7F7F7FFF7F7F7F190000000000000000835029309F6231FFF8F8F8FFA26332FFA36433FF9C6030300000000000000000000000067F7F7FFFE4E7E8FFEAEAEAF87F7F7FFFADADADFFE2E3E3FFE8EAECFFF9FAFAFF747879C87F7F7F3000000000000000000000000000000000A0623230A46534FFE3E3E3FFCBCBCBFFA46534FFA465341900000000000000017C7C7C827F7F7FFF7F7F7F830000000000000000BBBBBBFFEAEBEDFFF8F9F9FF7F7F7FFF000000000000000000000000000000000000000000000000A46534FFFFFFFFFFDEDEDEFFD5D5D5FFA86F44FF0000000000000000000000017F7F7F3000000000000000007F7F7F197F7F7FFFE8EAECFFF8F9F9FF7F7F7FFF000000000000000200000000000000000000000000000000A4653430A46534FFFFFFFFFFCCB19BBCA46534BC00000000000000000000000000000000000000007F7F7F197F7F7FFFF6F7F8FFF1F2F3FFD7D8D8FF7F7F7FFF00000000000000010000000000000000000000000000000000000000A4653419A87953FFA46534A40000000000000000000000000000000000000000000000007F7F7FFFE8E9EAFFF8F9F9FFD7D8D8FF7F7F7FFF7373734B000000010000000000000000000000000000000000000000000000000000000000000001000000020000000000000000000000000000000000000000000000007F7F7F7F7F7F7FFF7F7F7FFF7F7F7F767F7F7F4400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E3"
    $bData[5] &= "FFFF00C1FFFF0080FFFF00807F8E00803F0600C01E0600E00C0F00F0081F00F8003F00FC007F00FE00FF00FF81FF00FF01FF00E000FF00C00C7F00801E1F00803F0E008C3F0600FC3F8600F83FCF00F07FFF00F9FFFF00"

    [/autoit] [autoit][/autoit] [autoit]

    ; erstellt im TEMPDIR die Datei/-en aus allen vorhandenen $bData Variablen
    Global $bDatanames[5] = ["web_search_22x22.ico","internet-web-browser-3.ico","zoom-3.ico","list.ico","preferences-system-2.ico"]
    For $i = 1 To $bData[0]
    Local $sFile = @TempDir & '\' & $bDatanames[$i - 1]
    Local $hFileOut = FileOpen($sFile, 2+8+16)
    FileWrite($hFileOut, Binary($bData[$i]))
    FileClose($hFileOut)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    ; registriert die Funktion "_DelBinaryTempFiles()", damit die temporär erstellten Dateien bei Beendigung wieder gelöscht werden
    OnAutoItExitRegister("_DelBinaryTempFiles")

    [/autoit] [autoit][/autoit] [autoit]

    Func _DelBinaryTempFiles()
    For $i = 1 To $bData[0] - 1
    FileDelete(@TempDir & '\' & $bDatanames[$i - 1])
    Next
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Global $sBrowser = _GetDefaultBrowser()
    Global $sPathINI = @UserProfileDir & '\MyWebApp.ini', $aSection
    If Not FileExists($sPathINI) Then
    IniWrite($sPathINI, 'search_site', 'AutoIt-DE', 'autoit.de')
    IniWrite($sPathINI, 'search_site', 'AutoIt-EN', 'autoitscript.com')
    IniWrite($sPathINI, 'search_site', 'MSDN', 'msdn.microsoft.com')
    IniWrite($sPathINI, 'search_str', 'Google', 'http://www.google.de/search?q=')
    IniWrite($sPathINI, 'search_str', 'Google-On-Site', 'http://www.google.de/search?num=100&hl=de&newwindow=1&safe=off&q=site%3A')
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Global $sGoogleSearch = IniRead($sPathINI, 'search_str', 'Google', 'http://www.google.de/search?q=')
    Global $sGoogleS_OnSite = IniRead($sPathINI, 'search_str', 'Google-On-Site', 'http://www.google.de/search?num=100&hl=de&newwindow=1&safe=off&q=site%3A')
    Global $oSearchSite = ObjCreate("Scripting.Dictionary")
    $aSection = IniReadSection($sPathINI, 'search_site')
    For $i = 1 To $aSection[0][0]
    $oSearchSite.Add($aSection[$i][0], $aSection[$i][1])
    Next
    Global $fSwitch1 = 0, $fSwitch2 = 0
    Global $icoSiteSearch = @TempDir & '\' & $bDatanames[0]
    Global $icoBrowse = @TempDir & '\' & $bDatanames[1]
    Global $icoSearch = @TempDir & '\' & $bDatanames[2]
    Global $icoList = @TempDir & '\' & $bDatanames[3]
    Global $icoConfig = @TempDir & '\' & $bDatanames[4]
    Global $oList = _ObjAListCreate()
    Global $iCountLinks = 0, $aSection
    _oLinkListLoad()
    Global $hGuiCfg, $cLVCfg, $hListView, $currentItem[2], $currentOpt[2] = ["none"], $EditBox, $hEdit ; == für Konfig-Wnd
    Global $inBrowserPath, $btSelBrowser, $rLink, $rSite, $mnuLV, $delLV, $iIndex

    [/autoit] [autoit][/autoit] [autoit]

    $hGuiCfg = GUICreate("Konfiguration Web-App", 400, 360)
    GUICtrlCreateGroup(" Editieren mit Doppelklick - Übernahme ENTER ", 10, 10, 380, 340)
    $rLink = GUICtrlCreateRadio("Gespeicherte Links", 50, 30, 121, 21)
    $rSite = GUICtrlCreateRadio("Suche auf Seite", 243, 30, 97, 21)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $cLVCfg = GUICtrlCreateListView("Key|Value", 20, 65, 360, 275, BitOR($GUI_SS_DEFAULT_LISTVIEW,$WS_HSCROLL,$WS_VSCROLL), BitOR($WS_EX_CLIENTEDGE,$LVS_EX_GRIDLINES,$LVS_EX_FULLROWSELECT))
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 80)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, $LVSCW_AUTOSIZE_USEHEADER)
    $mnuLV = GUICtrlCreateContextMenu($cLVCfg)
    $delLV = GUICtrlCreateMenuItem("Lösche Eintrag", $mnuLV)
    $hListView = GUICtrlGetHandle($cLVCfg)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    _setConfgLV('search_site')

    [/autoit] [autoit][/autoit] [autoit]

    $EditBox = GUICreate('', 200, 30, -1, -1, BitOR($WS_POPUP,$WS_BORDER), $WS_EX_TOPMOST)
    $hEdit = GUICtrlCreateInput('', 5, 5, 190, 20, $SS_CENTER)

    [/autoit] [autoit][/autoit] [autoit]

    $hGui = GUICreate('Web-App', 378, 30, @DesktopWidth-389, @DesktopHeight-65, Default, BitOR($WS_EX_TOOLWINDOW,$GUI_WS_EX_PARENTDRAG))
    $cDummy = GUICtrlCreateInput('', 8, 6, 1 , 20)
    $cIn = GUICtrlCreateInput('', 5, 5, 248, 20)
    GUICtrlSendMsg($cIn, 0x1501, 0, "Bitte Web-Adresse oder Suchtext eingeben")
    $btLink = GUICtrlCreateButton('>', 255, 4, 22, 22, $BS_ICON)
    GUICtrlSetTip(-1, 'Link aufrufen', '', 1, 3)
    GUICtrlSetImage(-1, $icoBrowse)
    $btList = GUICtrlCreateButton('..', 279, 4, 22, 22, $BS_ICON)
    GUICtrlSetTip(-1, 'Link Liste', '', 1, 3)
    GUICtrlSetImage(-1, $icoList)
    $btSearch = GUICtrlCreateButton('?', 303, 4, 22, 22, $BS_ICON)
    GUICtrlSetTip(-1, 'Google Suche', '', 1, 3)
    GUICtrlSetImage(-1, $icoSearch)
    $btSiteSearch = GUICtrlCreateButton('', 327, 4, 22, 22, $BS_ICON)
    GUICtrlSetTip(-1, 'Seiten Suche', '', 1, 3)
    GUICtrlSetImage(-1, $icoSiteSearch)
    $btConfig = GUICtrlCreateButton('', 351, 4, 22, 22, $BS_ICON)
    GUICtrlSetTip(-1, 'Konfiguration', '', 1, 3)
    GUICtrlSetImage(-1, $icoConfig)
    $DummyEnd = GUICtrlCreateDummy()

    [/autoit] [autoit][/autoit] [autoit]

    $hLinkChild = GUICreate('', 230, 105, 0, -150, BitOR($WS_POPUP,$WS_THICKFRAME), BitOR($WS_EX_TOOLWINDOW,$WS_EX_MDICHILD), $hGui)
    $cLV = GuiCtrlCreateListView('Link', 0, 0, 230, 105, BitOR($LVS_SINGLESEL,$LVS_NOSORTHEADER,$LVS_REPORT), BitOR($LVS_EX_FULLROWSELECT,$LVS_EX_GRIDLINES))
    GUICtrlSendMsg($cLV, $LVM_SETCOLUMNWIDTH, 0, $LVSCW_AUTOSIZE_USEHEADER)

    [/autoit] [autoit][/autoit] [autoit]

    $itmTrayShow = TrayCreateItem('Anzeigen', -1, -1, 1)
    $itmTrayHide = TrayCreateItem('Verstecken', -1, -1, 1)
    TrayCreateItem("")
    $itmTrayCfg = TrayCreateItem('Konfiguration', -1, -1, 1)
    TrayCreateItem("")
    $itmTrayEnd = TrayCreateItem('Beenden', -1, -1, 1)
    TraySetState()
    TraySetIcon($icoSiteSearch)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW, $hGui)
    GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Switch GUIGetMsg()
    Case -3
    _close()
    Case $btSiteSearch
    $fSwitch1 = BitXOR($fSwitch1, 1)
    If $fSwitch1 Then
    $fSwitch2 = 0
    _GUICtrlListView_SetColumn(GUICtrlGetHandle($cLV), 0, 'Suche auf Seite')
    _ListViewSet()
    GUISetState(@SW_SHOW, $hLinkChild)
    Else
    GUISetState(@SW_HIDE, $hLinkChild)
    EndIf
    Case $btSearch
    $s2Search = GUICtrlRead($cIn)
    If $s2Search <> '' Then
    GUICtrlSetData($cIn, '')
    WinSetOnTop($hGui, '', 0)
    ShellExecute($sGoogleSearch & $s2Search)
    EndIf
    Case $btLink
    $sLink = GUICtrlRead($cIn)
    If $sLink <> '' Then
    If Not _ObjAListSearch($oList, $sLink) Then _ItemAdd($sLink)
    GUICtrlSetData($cIn, '')
    WinSetOnTop($hGui, '', 0)
    ShellExecute($sBrowser, '"' & $sLink & '"')
    EndIf
    Case $btList
    $fSwitch2 = BitXOR($fSwitch2, 1)
    If $fSwitch2 Then
    $fSwitch1 = 0
    _GUICtrlListView_SetColumn(GUICtrlGetHandle($cLV), 0, 'Link')
    If $oList.Count > 0 Then
    _ListViewSet('Link')
    Else
    _ListViewSet('Delete')
    EndIf
    GUISetState(@SW_SHOW, $hLinkChild)
    Else
    GUISetState(@SW_HIDE, $hLinkChild)
    EndIf
    Case $btConfig
    _Config()
    Case $rLink, $rSite
    If BitAND(GUICtrlRead($rLink), $GUI_CHECKED) Then
    GUICtrlSendMsg($cLVCfg, $LVM_SETCOLUMNWIDTH, 0, 40)
    GUICtrlSendMsg($cLVCfg, $LVM_SETCOLUMNWIDTH, 1, $LVSCW_AUTOSIZE_USEHEADER)
    _setConfgLV('links')
    Else
    GUICtrlSendMsg($cLVCfg, $LVM_SETCOLUMNWIDTH, 0, 80)
    _setConfgLV('search_site')
    EndIf
    Case $delLV
    $iIndex = _GUICtrlListView_GetSelectedIndices($hListView)
    If $iIndex > -1 Then
    _DelLVItem($iIndex)
    EndIf
    EndSwitch
    Switch TrayGetMsg()
    Case 0
    ContinueLoop
    Case $itmTrayShow
    GUISetState(@SW_SHOW, $hGui)
    WinSetOnTop($hGui, '', 1)
    Case $itmTrayHide
    WinSetOnTop($hGui, '', 0)
    GUISetState(@SW_HIDE, $hGui)
    Case $itmTrayEnd
    Exit
    Case $itmTrayCfg
    _Config()
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _close()
    If BitAND(WinGetState($hGui), 8) Then
    Exit
    ElseIf BitAND(WinGetState($hLinkChild), 8) Then
    GUISetState(@SW_HIDE, $hLinkChild)
    ElseIf BitAND(WinGetState($EditBox), 8) Then
    _EscEdit()
    ElseIf BitAND(WinGetState($hGuiCfg), 8) Then
    GUISetState(@SW_HIDE, $hGuiCfg)
    GUISetState(@SW_SHOW, $hGui)
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _oLinkListLoad()
    $aSection = IniReadSection($sPathINI, 'links')
    If @error Then Return
    $iCountLinks = $aSection[0][0]
    For $i = 1 To $aSection[0][0]
    _ObjAListAdd($oList, $aSection[$i][1])
    Next
    _ObjAListSort($oList)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Config()
    GUISetState(@SW_SHOW, $hGuiCfg)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _setConfgLV($sData)
    _GUICtrlListView_DeleteAllItems($hListView)
    $aSection = IniReadSection($sPathINI, $sData)
    If @error Then Return
    For $i = 1 To $aSection[0][0]
    GUICtrlCreateListViewItem($aSection[$i][0] & '|' & $aSection[$i][1], $cLVCfg)
    Next
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _EscEdit()
    Opt('GUICoordMode', $currentOpt[0])
    Opt("GUIOnEventMode", $currentOpt[1])
    $currentOpt[0] = "none"
    GUISetState(@SW_HIDE, $EditBox)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _EditEnter()
    _GUICtrlListView_SetItemText($hListView, $currentItem[0], GUICtrlRead($hEdit), $currentItem[1])
    If BitAND(GUICtrlRead($rLink), $GUI_CHECKED) Then
    IniWrite($sPathINI, 'links', _GUICtrlListView_GetItemText($hListView, $currentItem[0]), GUICtrlRead($hEdit))
    _ListViewSet('links')
    _oLinkListLoad()
    Else
    IniWrite($sPathINI, 'search_site', _GUICtrlListView_GetItemText($hListView, $currentItem[0]), GUICtrlRead($hEdit))
    _ListViewSet('search_site')
    EndIf
    _EscEdit()
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _ItemAdd($sLink)
    _ObjAListAdd($oList, $sLink)
    _ObjAListSort($oList)
    $iCountLinks += 1
    IniWrite($sPathINI, 'links', $iCountLinks, $sLink)
    _ListViewSet('Link')
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _ListViewSet($sSource='')
    GUISetState(@SW_LOCK, $hLinkChild)
    _GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($cLV))
    Switch $sSource
    Case 'Link'
    For $element In $oList
    GUICtrlCreateListViewItem($element, $cLV)
    Next
    Case 'Delete'
    ; == nothing, always deleted
    Case Else
    Local $strKey, $colKeys = $oSearchSite.Keys
    For $strKey In $colKeys
    GUICtrlCreateListViewItem($strKey, $cLV)
    Next
    EndSwitch
    GUISetState(@SW_UNLOCK, $hLinkChild)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _ListViewClick($index)
    If $index = -1 Then Return
    If $fSwitch1 Then
    Local $sRead = GUICtrlRead($cIn)
    If $sRead = '' Then Return GUICtrlSetData($cIn, 'Suchtext eingeben!')
    WinSetOnTop($hGui, '', 0)
    ShellExecute($sGoogleS_OnSite & $oSearchSite.Item(_GUICtrlListView_GetItemText(GUICtrlGetHandle($cLV), _
    _GUICtrlListView_GetSelectedIndices(GUICtrlGetHandle($cLV)))) & ' ' & $sRead)
    Else
    GUICtrlSetData($cIn, _GUICtrlListView_GetItemText(GUICtrlGetHandle($cLV), _
    _GUICtrlListView_GetSelectedIndices(GUICtrlGetHandle($cLV))))
    EndIf
    GUISetState(@SW_HIDE, $hLinkChild)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _LeftDblClick($Info)
    If $Info[3] = -1 Then Return _NewEntry()
    If $currentOpt[0] = "none" Then
    $currentOpt[0] = Opt('GUICoordMode', 1)
    $currentOpt[1] = Opt("GUIOnEventMode", 1)
    EndIf
    GUICtrlSetOnEvent($hEdit, '_EditEnter')
    _GUICtrlListView_SetSelectedColumn($Info[1], $Info[4])
    Local $mouse = MouseGetPos(), $posEdit = WinGetPos($EditBox)
    Local $posGUI = WinGetPos($hGuiCfg), $posLV = ControlGetPos($hGuiCfg, '', $cLVCfg)
    Local $colInfo = _GUICtrlListView_GetColumn($Info[1], $Info[4]), $sumWidth = 0, $tmp
    For $i = 0 To $Info[4]
    $tmp = _GUICtrlListView_GetColumn($Info[1], $i)
    $sumWidth += $tmp[4]
    Next
    $sumWidth -= $colInfo[4]
    Local $xPos = $posGUI[0]+$posLV[0]+$sumWidth
    If $xPos+$colInfo[4]+10 > @DesktopWidth Then $xPos = @DesktopWidth - ($colInfo[4] + 10)
    If $xPos < 0 Then $xPos = 0
    WinMove($EditBox, '', $xPos, $mouse[1]-$posEdit[3], $colInfo[4]+10)
    GUICtrlSetData($hEdit, _GUICtrlListView_GetItemText($Info[1], $Info[3], $Info[4]))
    $currentItem[0] = $Info[3]
    $currentItem[1] = $Info[4]
    GUISetState(@SW_SHOW, $EditBox)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _NewEntry()
    Local $inBox
    If BitAND(GUICtrlRead($rLink), $GUI_CHECKED) Then
    If MsgBox(36,"Link","Neuen Eintrag für 'Links' anlegen?") = 7 Then Return
    $inBox = InputBox('Neuer Link', 'Bitte nur die Linkadresse (ohne Key) eingeben:', '')
    If $inBox = '' Then Return
    If _ObjAListSearch($oList, $inBox) Then Return MsgBox(0, 'Fehler', 'Link bereits gespeichert')
    _ItemAdd($inBox)
    _oLinkListLoad()
    _setConfgLV('links')
    Else
    If MsgBox(36,"Suche auf Seite","Neuen Eintrag für 'Seiten-Suche' anlegen?") = 7 Then Return
    $inBox = InputBox('Suche auf Seite', 'Bitte erst Kürzel dann Seitenadresse kommagetrennt eingeben:', '')
    If $inBox = '' Then Return
    Local $aSplit = StringSplit($inBox, ',')
    If UBound($aSplit) = 1 Then Return MsgBox(0, 'Fehler', 'Kein Trennzeichen enthalten!')
    If $oSearchSite.Exists($aSplit[1]) Then Return MsgBox(0, 'Fehler', 'Kurzname bereits angelegt')
    IniWrite($sPathINI, 'search_site', $aSplit[1], $aSplit[2])
    $oSearchSite.Add($aSplit[1], $aSplit[2])
    _setConfgLV('search_site')
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _DelLVItem($iIndex)
    Local $key = _GUICtrlListView_GetItemText($hListView, $iIndex)
    _GUICtrlListView_DeleteItem($hListView, $iIndex)
    If BitAND(GUICtrlRead($rLink), $GUI_CHECKED) Then
    IniDelete($sPathINI, 'links', $key)
    _ListViewSet('links')
    _oLinkListLoad()
    Else
    IniDelete($sPathINI, 'search_site', $key)
    _ListViewSet('search_site')
    $oSearchSite.Remove($key)
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func WM_COMMAND($hWnd, $iMsg, $iwParam)
    If BitShift($iwParam, 16) = 0x300 Then
    If BitAND($iwParam, 0xFFFF) = $cDummy Then
    GUICtrlSetData($cIn, GUICtrlRead($cDummy))
    GUICtrlSetData($cDummy, '')
    ControlFocus($hWnd, '', $cIn)
    ElseIf GUICtrlRead($cIn) = '' Then
    ControlFocus($hWnd, '', $cDummy)
    EndIf
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_COMMAND

    [/autoit] [autoit][/autoit] [autoit]

    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom, $iCode, $tNMHDR, $hWndListView
    $hWndListView = GUICtrlGetHandle($cLV)
    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hWndListView
    If $iCode = $NM_CLICK Then
    Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    _ListViewClick(DllStructGetData($tInfo, "Index"))
    EndIf
    Case $hListView
    If $iCode = $NM_DBLCLK Then
    Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    Local $aInfo[5] = [$hWndFrom, DllStructGetData($tNMHDR, "IDFrom"), $iCode, DllStructGetData($tInfo, "Index"), _
    DllStructGetData($tInfo, "SubItem")]
    _LeftDblClick($aInfo)
    EndIf
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit] [autoit][/autoit] [autoit]

    ;===============================================================================
    ; Function Name....: _GetDefaultBrowser
    ; Description......: Ermittelt den Programmpfad des Default-Browsers
    ; Es wird der vom User festgelegte Default-Browser abgefragt, ersatzweise der allgemeingültige
    ; Parameter(s).....: keine
    ; Requirement(s)...: keine
    ; Return Value(s)..: Kompletter Programmpfad des Default-Browsers
    ; Author(s)........: BugFix ( [email='bugfix@autoit.de'][/email] )
    ;===============================================================================
    Func _GetDefaultBrowser()
    Local $sPath = RegRead("HKEY_CLASSES_ROOT\http\shell\open\command", '')
    Local $progID = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice", "Progid")
    If $progID <> '' Then ; == User-Default-Browser gesetzt
    $sPath = RegRead("HKEY_CLASSES_ROOT\" & $progID & "\shell\open\command", "")
    EndIf
    $sPath = StringTrimLeft($sPath, 1)
    Local $Pos = StringInStr($sPath, '"')
    Return StringLeft($sPath, $Pos-1)
    EndFunc ; ==>_GetDefaultBrowser

    [/autoit] [autoit][/autoit] [autoit]

    ;==================================================================================================
    ; Name: _ObjAListCreate()
    ; Return: Erfolg: Handle des Arraylist-Objektes
    ; Fehler: -1
    ; Fehlerwert: 1 Objekt konnte nicht erzeugt werden
    ;==================================================================================================
    Func _ObjAListCreate()
    Local $obj = ObjCreate("System.Collections.ArrayList")
    If (Not IsObj($obj)) Then
    Return SetError(1, 0, -1)
    Else
    Return $obj
    EndIf
    EndFunc ;==>_ObjAListCreate

    [/autoit] [autoit][/autoit] [autoit]

    ;==================================================================================================
    ; Name: _ObjAListAdd($ObjList, $Value)
    ; Parameter: $ObjList - Handle des Arraylist-Objektes
    ; $Value - Wert
    ; Return: Erfolg: 0
    ; Fehler: -1
    ; Fehlerwert: 1 Objekt existiert nicht
    ; 2 Wert ohne Inhalt übergeben
    ; 3 Aktion fehlgeschlagen
    ;==================================================================================================
    Func _ObjAListAdd(ByRef $ObjList, $VALUE = '')
    If (Not IsObj($ObjList)) Then Return SetError(1, 0, -1)
    If $VALUE = '' Then Return SetError(2, 0, -1)
    $ObjList.Add($VALUE)
    If @error Then Return SetError(3, 0, -1)
    Return 0
    EndFunc ;==>_ObjAListAdd

    [/autoit] [autoit][/autoit] [autoit]

    ;==================================================================================================
    ; Name: _ObjAListSort($ObjList, $Direction)
    ; Parameter: $ObjList - Handle des Arraylist-Objektes
    ; $Direction - Sortierrichtung; 0=steigend (Standard), 1=fallend
    ; Return: Erfolg: 0
    ; Fehler: -1
    ; Fehlerwert: 1 Objekt existiert nicht
    ; 3 Aktion fehlgeschlagen
    ;==================================================================================================
    Func _ObjAListSort(ByRef $ObjList, $Direction = 0)
    If (Not IsObj($ObjList)) Then Return SetError(1, 0, -1)
    $ObjList.Sort
    If @error Then Return SetError(3, 0, -1)
    If $Direction = 1 Then $ObjList.Reverse
    If @error Then Return SetError(3, 0, -1)
    Return 0
    EndFunc ;==>_ObjAListSort

    [/autoit] [autoit][/autoit] [autoit]

    ;==================================================================================================
    ; Name: _ObjAListSearch($ObjList, $Value)
    ; Parameter: $ObjList - Handle des Arraylist-Objektes
    ; $Value - Wert auf dessen Existenz geprüft wird
    ; Return: Erfolg: True (gefunden)/ False (ni. gefunden)
    ; Fehler: -1
    ; Fehlerwert: 1 Objekt existiert nicht
    ; 2 Wert ohne Inhalt übergeben
    ; 3 Aktion fehlgeschlagen
    ;==================================================================================================
    Func _ObjAListSearch(ByRef $ObjList, $VALUE = '')
    If (Not IsObj($ObjList)) Then Return SetError(1, 0, -1)
    If $VALUE = '' Then Return SetError(2, 0, -1)
    If $ObjList.Contains($VALUE) Then
    Return True
    Else
    Return False
    EndIf
    If @error Then Return SetError(3, 0, -1)
    EndFunc ;==>_ObjAListSearch

    [/autoit]

    Das Tool platziert sich am unteren rechten Bildschirmrand.
    autoit.de/wcf/attachment/14380/
    Konfig-Fenster:
    autoit.de/wcf/attachment/14381/

  • Ich geb was ein und er sagt mir "C:\...\Firefox.exe ... konnte nicht gefunden werden" <- Wie jetzt ?

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

    • Offizieller Beitrag

    Heyho,

    Same here. Das Problem liegt daran, dass du zwar den Default Browser aus der Registry ließt, aber die Parameter dahinter (bei Google Chrome steht z.B. -- %1 dahinter) nicht entfernst. Muss natürlich eine EXE Datei sein.
    Ich habe es mit https://autoit.de/www.autoit.de probiert. Die Googlesuche funktioniert allerdings einwandfrei.
    [Blockierte Grafik: http://e74t.img-up.net/Unbenannt6zb4n.jpg]

    Gruß
    Spider

    • Offizieller Beitrag

    dass du zwar den Default Browser aus der Registry ließt, aber die Parameter dahinter (bei Google Chrome steht z.B. -- %1 dahinter) nicht entfernst.


    ;( Du beleidigst mich.
    Hier der Part aus der Funktion, der zuerst:
    - erstes und letztes " des gelesenen Wertes entfernt
    - an " " splittet
    - den ersten Spliwert (Exe-pfad) zurückgibt

    [autoit]

    $sPath = StringTrimRight(StringTrimLeft($sPath, 1), 1)
    Local $split = StringSplit($sPath, '" "', 1)
    Return StringReplace($split[1], '"', '')

    [/autoit]


    Btw: Ich habe es bei mir am Laufen - so wie gepostet. Wahlweise auch den FF als Default gesetzt. Funktioniert fehlerfrei, Rückgabe aus der _GetDefaultBrowser-Func ist immer der korrekte Pfad der EXE

    • Offizieller Beitrag

    Heyho,

    Das hier funktioniert für mich, einfach alles nach dem letzen ".exe" abschneiden ;) Jetzt kann man natürlich nur hoffen, dass der Benutzer kein JAVA Browser oder so etwas benutzt ;)

    Spoiler anzeigen
    [autoit]

    ConsoleWrite(_GetDefaultBrowser() & @LF)

    [/autoit] [autoit][/autoit] [autoit]

    Func _GetDefaultBrowser()
    Local $sPath = RegRead("HKEY_CLASSES_ROOT\http\shell\open\command", '') ; == allgemeingültiger Default-Browser
    Local $progID = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice", "Progid")
    If $progID <> '' Then ; == User-Default-Browser gesetzt
    $sPath = RegRead("HKEY_CLASSES_ROOT\" & $progID & "\shell\open\command", "")
    EndIf
    $sPath = StringReplace($sPath, '"', '')
    $sPath = StringLeft($sPath, StringInStr($sPath, ".exe", -1, -1) + 3)
    Return $sPath
    EndFunc ;==>_GetDefaultBrowser

    [/autoit]
    • Offizieller Beitrag

    kann man natürlich nur hoffen, dass der Benutzer kein JAVA Browser oder so etwas benutzt


    Igittigitt, was soll denn das sein. :D

    Habe die Funktion zum Ermitteln des Default-Browsers etwas verändert. Sollte nun problemlos funktionieren.
    Versteh aber nicht, wieso bei mir da kein Fehler auftrat.

  • Jetzt gehts ...
    Man kann den Aufruf der Seite doch auch so tätigen (Default Browser automatisch dabei)

    [autoit]


    ShellExecute("www.website.de")

    [/autoit]


    MfG
    PS: Gutes tool an sich

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

    • Offizieller Beitrag

    Man kann den Aufruf der Seite doch auch so tätigen (Default Browser automatisch dabei)


    Das mach ich ja auch. Aber wenn du einen Parameter mitgeben möchtest, wie bei Suchen auf Seite, mußt du den Browserpfad zwingend angeben. ;)

    • Offizieller Beitrag

    Ich setze es beim Start nicht OnTop. Wer möchte kann ja nach GuiSetState ein WinSetOnTop einfügen. Alternativ wird das Tool über das Tray-Menü <Anzeigen> OnTop gesetzt und liegt dann vor allen Fenstern.

    Btw.: Habe noch einen kleinen Bug entdeckt. Die Linkliste ist nach jedem Neustart korrekt, aber während das Tool läuft können einige Einträge mehrfach erscheinen.