HolzShots v2.0.0 [2024-03-21]

    • Release
    • Open Source

    Es gibt 1.600 Antworten in diesem Thema. Der letzte Beitrag () ist von nikeee13.

      @4typen: Welches Prog nutzt du? Sieht hübsch aus :D
      "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

      Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!
      Das Formsymbol sollte für mehrere Monitore optimiert werden.
      Ist die Form auf dem 2. Bildschirm nicht aktiviert, wird das Symbol richtig angezeigt doch sobald es aktiviert ist, ist das Symbol an der gleichen Position, aber auf dem 1. Monitor.

      Solaris schrieb:

      Wie wärs mit ner FTP-Passive-Mode Unterstützung? :)
      Der FTP-Support in HS1 ist übelster abranz, von daher wird sich das in HS2 wohl um einiges verbessern.

      pc-freack schrieb:

      Gibts denn ein Thread für HS2?
      Wenn nicht, kann man die Fehler ja trotzdem posten und wenn er die liest, wird er die dann ja in der
      neuen Version verbessern.
      Nein, es gibt keinen Thread zu HS2. Ich halte es für sinnvoll, wenn Ihr einfach hier postet, da ich dann eine zentrale Anlaufstelle für HS1-Bugs und gewünschte Features habe. Es wird später einen HS2-Thread im neuen Showroom geben (,,weitere Programmiersprachen").

      Es gibt zwar Leute, die glauben, ich würde an HS2 nicht mehr weiterentwickeln, aber das stimmt nicht. Ich habe erst die Upload-API auf's neue Async-Pattern umgeschrieben.
      Ich kann Euch sagen, dass HS2 entweder in .NET 4.0 oder 4.5 ausrollen wird, je nachdem wie gut das Async Targeting Pack für 4.0 ist. Ich gehe aber von keinem Unterschied aus, von daher wird es wohl auf 4.0 hinauslaufen. Außerdem ist der GC in .NET 4 erheblich verbessert worden.
      Was ich Euch noch verraten kann, ist, dass in HS2 wahrscheinlich kein updateSystem.Net verwenden wird. Warum nicht? Nun ja, ich lese mich gerade etwas in ClickOnce Application Deployment ein, was von Microsoft selber kommt und eine wirklich einfache Softwareverteilung ermöglicht.

      Schnellstatistik für Zwischendurch:
      HS1 wurde hier im Forum bereits ca. 1700 mal heruntergeladen. Das motiviert doch. :)
      Von meinem iPhone gesendet

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „nikeee13“ ()

      nikeee13 schrieb:

      HS1 wurde hier im Forum bereits ca. 1700 mal heruntergeladen. Das motiviert doch. :)
      Was mir da grad einfällt (wollts eigentlich schon vor nen paar Monaten posten, habs dann aber vergessen): Der Download ist nur möglich, wenn der Referer von VBP kommt.
      =>
      Von Holzshots.de aus kriegt man nur ne Errormeldung.
      Das soll soweit ich weiß ne Proxysperre sein, wegen den Spams/DOS.

      Marcus Gräfe schrieb:

      Der neue Speicher ist hauptsächlich für den Showroom gedacht, d.h. für das Hochladen und Veröffentlichen eurer Programme. Ein Verlinken von fremden Websites aus auf diese Downloads ist nicht erlaubt und wird auch technisch unterbunden.
      @Mangafreak1995: Und es soll anscheinend auch verhindern, dass sich irgendwer anmeldet, nur um Webspace zu kriegen.
      Hey nikee, mir da was aufgefallen :

      bei Custom Themes unter Windows 7 welche den Fensterschatten vergrößern, wird der Schatten abgeschnitten :

      Hier normaler Screenshot : imageshack.us/photo/my-images/341/sncd.png/

      Hier mit HolzShots : imageshack.us/photo/my-images/441/hscd.png/

      Da ich das Feature mit der Transparenz hinter der Aero-Form sehr cool finde und du anscheinend fixe Rand-Abstands Werte eingebaut hast, wollte ich fragen, ob es möglich wäre diese Werte in der Konfiguration abzuändern. Programmtechnisch könntest du ja nach jedem Screenshot prüfen, ob sich in der ganz linken, rechten, oberen und unteren Pixelzeile bzw Spalte noch Pixel mit einem Alpha Wert oberhalb der Null befinden. Sofern ja, kann das Programm ja nach einem Fragedialog die Werte testweise erhöhen und am aktuellen Fenster auprobieren, bis ein guter Wert gefunden ist.
      Ich würde mich auch mit einem Eintag in den Einstellungen begnügen ;)

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „vbxource“ ()

      Hi,

      Support von custom themes halte ich für unzumutbar, weil man nicht weiß, was die User installiert haben. Hinzu kommt, dass es sich hierbei nur um den Schatten des Fensters handelt. Über einen Einstellungsdialog könnte man nachdenken, aber so würde ich es ungern lösen.
      Wenn du mir sagst, ob es via WinAPI eine Möglichkeit gibt, die Schattengröße abzufragen, wäre das kein Problem.

      nikeee
      Von meinem iPhone gesendet
      Ok :

      GetThemePartSize Funktion : msdn.microsoft.com/en-us/library/bb759759%28v=vs.85%29.aspx
      OpenThemeData um das Theme für GetSizepart zu laden : msdn.microsoft.com/en-us/library/bb759821(v=vs.85).aspx
      und hier die ID's aller möglichen Theme Teile um ihre Größe abzufragen : msdn.microsoft.com/en-us/libra…op/bb773210(v=vs.85).aspx


      Ich hoffe du kannst ein bisshen C++ damit du da durchblickst ;)

      Fehlt nur noch ne Funktion, um das aktuell gewählte Theme zu ermitteln...
      Edit: hat sich erledigt. Du musst als Eingangsparameter für OpenThemeData das Handle des Fensters, welches du Fotografieren willst angeben.
      Das kannst du ja mit FindWindow herausbekommen, sofern du es nicht schon sowieso irgendwo in deiner Screenshot-Methode hast.

      Ich probier morgen ma nen Sample Programm zu machen
      @vbxource: Ich schaue mir das mal an. Ein Sample-Programm ist nicht nötig, dass werde ich wohl selber hinbekommen. ;)
      Auf dem ersten Blick sehe ich in deiner Liste keine Konstante, die für die Dimensionen der Schatten steht. Vielleicht ja die WP_FRAMEBOTTOM/usw. mal sehen.
      Von meinem iPhone gesendet
      Evtl. TMT_PADDEDBORDERWIDTH ? msdn.microsoft.com/en-us/libra…b773213%28v=vs.85%29.aspx
      Habs damit aber auch noch nciht zum laufen bekommen.

      edit: um mal was konstruktives beizutragen: ^^

      VB.NET-Quellcode

      1. <DllImport("UxTheme.dll")> _
      2. Public Shared Function OpenThemeData(ByVal hwnd As IntPtr, ByVal pszClassList As String) As IntPtr
      3. End Function
      4. <DllImport("UxTheme.dll")> _
      5. Public Shared Function GetThemePartSize(hTheme As IntPtr, hdc As IntPtr, iPartId As Integer, iStateId As Integer, ByRef prc As Rectangle, eSize As ThemeSize, ByRef psz As Size) As Integer
      6. End Function
      7. Public Enum ThemeSize
      8. TS_MIN
      9. TS_TRUE
      10. TS_DRAW
      11. End Enum
      12. Const WP_FRAMEBOTTOM = 9
      13. Const FS_ACTIVE = 1
      14. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
      15. Dim s As New Size
      16. Dim i As Integer = GetThemePartSize((OpenThemeData(Me.Handle, "WINDOW")), Nothing, WP_FRAMEBOTTOM, FS_ACTIVE, Nothing, ThemeSize.TS_DRAW, s)
      17. MsgBox(s.ToString)

      Skybird schrieb:

      Das sind ja Ubisoftmethoden hier !

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „vb-checker“ ()

      Hmm bei deinem Code liegt der Hase wohl schon beim Aufruf von OpenThemeData im Pfeffer.
      Der Rückgabewert ist immer 0...

      Auszug aus MSDN:

      pszClassList [in]
      Type: LPCWSTR

      Pointer to a string that contains a semicolon-separated list of classes.

      Remarks
      The pszClassList parameter contains a list, not just a single name, to provide the class an opportunity to get the best match between the class and the current visual style. For example, a button might pass L"OkButton;Button" if its ID is ID_OK. If the current visual style has an entry for OkButton, that is used; otherwise no visual style is applied.
      Class names for the Aero theme are defined in AeroStyle.xml

      Ausserdem sollte man der Schönheit halber das ThemeHandle danach mit CloseThemeData wieder freigeben :
      msdn.microsoft.com/en-us/libra…op/bb773287(v=vs.85).aspx


      Edit by Manschula: Die Farbe Rot ist der Moderation vorbehalten --> Kolorierung angepasst
      @Manschula : Tschullig

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „vbxource“ ()

      Selbst wenn ich "OkButton;Button" oder "WindowStyle" nehme, was definitiv in der AeroStyle.xml definiert ist, bleibt das Theme 0 :(

      edit: So gehts, das Ergebnis ist aber immer 3x3 Pixel, also nicht sehr hilfreich :P

      Spoiler anzeigen

      VB.NET-Quellcode

      1. <DllImport("UxTheme.dll", CallingConvention:=CallingConvention.Winapi, CharSet:=CharSet.Unicode)> _
      2. Public Shared Function OpenThemeData(ByVal hwnd As IntPtr, ByVal pszClassList As String) As IntPtr
      3. End Function
      4. <DllImport("UxTheme.dll")> _
      5. Public Shared Function CloseThemeData(hTheme As IntPtr) As Long
      6. End Function
      7. <DllImport("UxTheme.dll")> _
      8. Public Shared Function GetThemePartSize(hTheme As IntPtr, hdc As IntPtr, iPartId As Integer, iStateId As Integer, ByRef prc As Rectangle, eSize As ThemeSize, ByRef psz As Size) As Long
      9. End Function
      10. Public Enum ThemeSize
      11. TS_MIN
      12. TS_TRUE
      13. TS_DRAW
      14. End Enum
      15. Const BP_PUSHBUTTON = 1
      16. Const PBS_NORMAL = 1
      17. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
      18. Dim s As Size
      19. Dim theme As IntPtr = OpenThemeData(Me.Handle, "ButtonStyle")
      20. Dim result As Long = GetThemePartSize(theme, Nothing, BP_PUSHBUTTON, PBS_NORMAL, Nothing, ThemeSize.TS_TRUE, s)
      21. MsgBox(result.ToString & vbNewLine & theme.ToString & vbNewLine & s.ToString)
      22. CloseThemeData(theme)
      23. End Sub

      Skybird schrieb:

      Das sind ja Ubisoftmethoden hier !

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „vb-checker“ ()