4K - Kommandoermittler

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Unsere Datenschutzerklärung wurde aktualisiert. Mit der Nutzung unseres Forums akzeptierst Du unsere Datenschutzerklärung. Du bestätigst zudem, dass Du mindestens 16 Jahre alt bist.

    • 4K - Kommandoermittler

      Welche Dateierweiterung oder welcher Datentyp oder welches Protokoll startet welches Programm? Das Tool kann diese Frage schnell beantworten. Einfach die Dateierweiterung mit oder ohne Punkt (txt oder .txt) eingeben und es wird der Programmaufruf mit den Parametern angezeigt. Enthält der Aufruf Variablen, werden diese in einer zusätzlichen Zeile aufgelöst. War der kurze Dateiname angegeben, wird in einer zusätzlichen Zeile der lange Name angezeigt.
      Interessieren nur die systemweiten Angaben, kann der Eingabe ein * vorangestellt (*txt oder *.txt) oder der Datentyp (txtfile) eingegeben werden.

      [Blockierte Grafik: http://s3.postimage.org/tdflyimfj/Screen_08_03_2013_14_Uhr_10_39_Sek.jpg]

      Brainfuck-Quellcode

      1. ' 4k-Wettbewerb @Volkmar 2013
      2. $H WINDOWS.PH
      3. $H Messages.PH
      4. WindowStyle 538
      5. WindowTitle "Kommandoermittler"
      6. Window (%MaxX \ 3),(%MaxY \ 3)
      7. CLS ~GetSysColor(15)
      8. Var Int SFont = External("gdi32.dll", "GetStockObject", ~Ansi_Var_Font)
      9. SetDialogFont SFont
      10. UserMessages $10
      11. Set("ErrorLevel", 0)
      12. Declare String L, Name, Command, Command2, ExTyp, Int OK, Edit, Text, Liste, Ende
      13. DEF $SOK "\Shell\Open\Command"
      14. DEF $SMW "Software\Microsoft\Windows\"
      15. DEF $CVE "CurrentVersion\Explorer\FileExts"
      16. Edit = Create("Edit", %HWnd, "", 4, 4, 88, 22)
      17. Text = Create("Text", %HWnd, "", 96, 6, Width(%HWnd) - 102, 18)
      18. Liste = Create("ListBox", %HWnd, 0, 4, 28, Width(%HWnd) - 8, Height(%HWnd) - 32)
      19. WhileNot Ende
      20. SetFocus(Edit)
      21. WaitInput
      22. If %UMessage = $10
      23. Break
      24. ElseIf %Key = 13
      25. GetCmd2(Trim$(GetText$(Edit)))
      26. EndIf
      27. EndWhile
      28. End
      29. Proc GetCmd2
      30. Parameters String CMD
      31. Var Int Sys = 0
      32. ClearList Liste
      33. SetText Edit, ""
      34. Name = ReadINI$("HKEY_1",$SMW + $CVE + "\" + CMD + "\UserChoice", "ProgID")
      35. If Name = ""
      36. Name = ReadINI$("HKEY_1", $SMW + "Shell\Associations\UrlAssociations\" + CMD + "\UserChoice", "ProgID")
      37. Case Name = "" : Name = ReadINI$("HKEY_1",$SMW + $CVE + "\." + CMD + "\UserChoice", "ProgID")
      38. EndIf
      39. If Name = ""
      40. '
      41. EndIf
      42. If Name = ""
      43. GetCMD(CMD)
      44. Sys = 1
      45. Else
      46. Command = ReadINI$("HKEY_2", "Software\Classes\" + Name + $SOK, "")
      47. AddString(Liste, CMD)
      48. AddString(Liste, "ProgrammID: " + Name)
      49. AddString(Liste, "Kommando: " + Command)
      50. GetExCMD(Command)
      51. EndIf
      52. IfNot Sys
      53. AddString(Liste, "")
      54. GetCMD(CMD)
      55. EndIf
      56. SetMaxWide(Liste, SFont)
      57. EndProc
      58. Proc GetCmd
      59. Parameters String CMD
      60. If CMD <> ""
      61. Case GetCount(Liste) : AddString(Liste, "----------")
      62. AddString(Liste,"System")
      63. AddString(Liste, CMD)
      64. OK = 0
      65. WhileNot OK
      66. L = Left$(Cmd, 1)
      67. If L = "*"
      68. CMD = Del$(CMD, 1, 1)
      69. ElseIf L <> "."
      70. CMD = "." + CMD
      71. Else
      72. OK = 1
      73. EndIf
      74. EndWhile
      75. Name = ReadINI$("HKEY_0", CMD, "")
      76. Command = ReadINI$("HKEY_0", CMD + $SOK, "")
      77. ExTyp = ReadINI$("HKEY_0", Name, "")
      78. Case Command = "" : Command = ReadINI$("HKEY_0", Name + $SOK, "")
      79. If Command = ""
      80. If Left$(CMD, 1, 1) = "."
      81. CMD = Del$(CMD, 1, 1)
      82. Command = ReadINI$("HKEY_0", CMD + $SOK, "")
      83. Case ExTyp = "" : ExTyp = ReadINI$("HKEY_0", CMD, "")
      84. EndIf
      85. If Command = ""
      86. '
      87. Case Command = "" : Command = "< keine aufrufdefinition >"
      88. EndIf
      89. EndIf
      90. Case (Left$(Command, 2) = "%1") Or (Mid$(Command, 2, 2) = "%1") : \
      91. Command = "[%1 = Platzhalter für ausführbare Anwendung] " + Command
      92. Case Name = "" : Name = ExTyp
      93. AddString(Liste, "Datentyp: " + Name)
      94. AddString(Liste, "Kommando: " + Command)
      95. SetText Text, CMD + " = " + ExTyp
      96. GetExCMD(Command)
      97. EndIf
      98. EndProc
      99. Proc GetExCMD
      100. Parameters String Command
      101. Var String Command2 = Space$(261)
      102. If Instr("~", SubStr$(Command, 1, " "))
      103. Command2 = SubStr$(Command, 1, " ")
      104. Command2 = Translate$(Command2, Chr$($22), "")
      105. Command2 = Chr$($22) + LongName$(Command2) + "\q" + Del$(Command, 1, Len(SubStr$(Command, 1, " ")))
      106. Else
      107. External("Kernel32", "ExpandEnvironmentStringsA", Addr(Command), Addr(Command2), 260)
      108. EndIf
      109. Command2 = Trim$(Command2)
      110. Case Upper$(Command) <> Upper$(Command2) : AddString(Liste, "Kommando: " + Command2)
      111. EndProc
      112. Proc SetMaxWide
      113. Parameters Int Liste, SFont
      114. Declare Int MW, OFont, String Zeile, Mem Point
      115. Struct TPoint = X&, Y&
      116. DIM Point, TPoint
      117. OFont = ~SelectObject(%HDC, SFont)
      118. WhileLoop 0, GetCount(Liste) - 1
      119. Zeile = GetString$(Liste, &Loop)
      120. ~GetTextExtentPoint32(%HDC, Addr(Zeile), Len(Zeile), Point)
      121. Case Point.X& > MW : MW = Point.X&
      122. EndWhile
      123. ~SelectObject(%HDC, OFont)
      124. Dispose Point
      125. SendMessage(Liste, ~lb_SetHorizontalExtent, MW + 6, 0)
      126. EndProc
      Alles anzeigen
      Gruß Volkmar