Schön ![]()
Überschrift geändert in [Leute gesucht & in bearbeitung]
Super das so viele Mitmachen.
Ich hoffe das auch jeder sich einem Problem/Teil des Scripts annimmt ![]()
mfg Ubuntu
Schön ![]()
Überschrift geändert in [Leute gesucht & in bearbeitung]
Super das so viele Mitmachen.
Ich hoffe das auch jeder sich einem Problem/Teil des Scripts annimmt ![]()
mfg Ubuntu
Ich versuche eine YouTube/Google-Suche, einen Shutdown-Controller und ein TV-Tool(kleine Fernsehzeitschrift)
Werd heut mal paar Vorbereitungen treffen und morgen anfangen ...
Musst ja nicht genau mit der Desktop UDF sein oder?
Nein ![]()
Natürlich nicht.
Ich wollte nur schon eine grundlage für dieses Projekt machen aber wenn es interaktiv sein soll, dann kann es ja gar nicht auf dem Desktop in diesem Sinne sein.
mfg Ubuntu
Edit: To Do aktualisiert
Was bei soetwas auch immer praktisch ist, ist einfach ein kleiner Notizzettel, gabs glaub ich hier schon einmal..
Hieß irgendwie GDI+ Notizzettel oder so
ach... eine sidebar! da hab ich was
wollt ich eig fertig amchen, aber dann kannst du das haben, ich will ja mein 3d projekt durchziehen ![]()
ich schicks dir per pn ubuntu ![]()
Ok auch ein virtueller dektop wäre cool
ich werde mich da mal dransetzen ich hoffe es passt dazu =)
wenn jemand dagegen ist , dann einfach hier melden,dann lasse ich es weg
Mfg.Simon
@simon .. wie meinst du das mit virtueller Desktop?
Meinst du es so, dass man 4 Desktops hat oder wie?
Ich meine als Virtueller Desktop einen virtuelen bildschrim, d.h. dort werden nur eingestellte programme angezeigt
und auf den anderen die restilichen, und dann gibt es da was zum umschalten
bei maComfort ist das dabei, fals es jemand kennt
Wenn ihr noch irgendwas frei habt, helfe ich gerne ![]()
Meine erste Verison
funktioniert noch nicht ganz ist auch nur die gui
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GUIListBox.au3>
Dim $Desktop2[1]
$Desktop2[0] = 0
$Form1 = GUICreate("Virtuell Desktop", 495, 320)
[/autoit] [autoit][/autoit] [autoit]$List1 = GUICtrlCreateList("", 8, 56, 193, 253)
[/autoit] [autoit][/autoit] [autoit]$Label1 = GUICtrlCreateLabel("Desktop1:", 8, 32, 53, 17)
$Move_To_Desktop_2 = GUICtrlCreateButton(">", 208, 96, 75, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("<", 208, 128, 75, 25, $WS_GROUP)
$List2 = GUICtrlCreateList("", 293, 56, 193, 253)
[/autoit] [autoit][/autoit] [autoit]$Label2 = GUICtrlCreateLabel("Desktop 2:", 296, 32, 56, 17)
$Label3 = GUICtrlCreateLabel("Hier können sie ihre virtuellen Desktops verwalten:", 8, 8, 294, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
_SetWinList1($List1)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Move_To_Desktop_2
$read_to_move = GUICtrlRead($List1)
GUICtrlSetData($List2, $read_to_move)
$Desktop2[0] = $Desktop2[0] + 1
ReDim $Desktop2[$Desktop2[0] + 1]
$Desktop2[$Desktop2[0]] = $read_to_move
_UpdateList1()
EndSwitch
WEnd
Func _UpdateList1()
$handle = GUICtrlGetHandle($List1)
If Not @error Then
_GUICtrlListBox_Destroy($handle)
EndIf
$List1 = GUICtrlCreateList("", 8, 56, 193, 253)
_SetWinList1($List1)
EndFunc ;==>_UpdateList1
Func _SetWinList1($List)
$winList = WinList()
For $i = 1 To $winList[0][0]
If $winList[$i][0] <> "" And IsVisible($winList[$i][1]) And IsDesktop2($winList[$i][0]) Then
If $winList[$i][0] <> "Desktop Tools" Then
If $winList[$i][0] <> "Start" Then
If $winList[$i][0] <> "Program Manager" Then
If $winList[$i][0] <> "Virtuell Desktop" Then
GUICtrlSetData($List, $winList[$i][0])
EndIf
EndIf
EndIf
EndIf
EndIf
Next
EndFunc ;==>_SetWinList1
Func IsVisible($handle)
If BitAND(WinGetState($handle), 2) And BitAND(WinGetState($handle), 4) And BitAND(WinGetState($handle), 1) Then
Return 1
Else
Return 0
EndIf
EndFunc ;==>IsVisible
Func IsDesktop2($win)
If $win <> "" Then
For $i = 0 To $Desktop2[0]
If $win = $Desktop2[$i] Then
Return 1
Else
Return 0
EndIf
Next
EndIf
EndFunc ;==>IsDesktop2
Das Problem ist , dass die Fenster nach dem refreshen nicht mehr in der ersten liste angezeigt werden
jemand eine lösung ?
Wenn ihr noch irgendwas frei habt, helfe ich gerne
Es fehlt noch ziemlich viel ![]()
z.B. CPU auslastung, Wetter, und andere Tools die ihr für nützlich haltet.
Und das platzieren von Elementen per "lösen und verankern" (wär denke ich keine grosse Sache) (lässt sich nicht so gut in wenigen Worten beschreiben)
oetzn: Ich suche mal...
@simon:
Gute Idee ![]()
Ich werde jetzt mal eine Sidebar schreiben, auf grund der Sidebar von black Scorpi.
mfg Ubuntu
@Ubuntu
Danke aber irgendwie bekomme ich es nicht zum laufen
Nicht verzagen ![]()
Du schaffst das schon, es besteht ja kein Zeit druck ![]()
mfg Ubuntu
So neue version
wieder nur gui jetzt wird wieder eine listbox angezeigt
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GUIListBox.au3>
Dim $Desktop2[1]
$Desktop2[0] = 0
$Form1 = GUICreate("Virtuell Desktop", 495, 320)
[/autoit] [autoit][/autoit] [autoit]$List1 = GUICtrlCreateList("", 8, 56, 193, 253)
[/autoit] [autoit][/autoit] [autoit]$Label1 = GUICtrlCreateLabel("Desktop1:", 8, 32, 53, 17)
$Move_To_Desktop_2 = GUICtrlCreateButton(">", 208, 96, 75, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("<", 208, 128, 75, 25, $WS_GROUP)
$List2 = GUICtrlCreateList("", 293, 56, 193, 253)
[/autoit] [autoit][/autoit] [autoit]$Label2 = GUICtrlCreateLabel("Desktop 2:", 296, 32, 56, 17)
$Label3 = GUICtrlCreateLabel("Hier können sie ihre virtuellen Desktops verwalten:", 8, 8, 294, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
_SetWinList1($List1)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Move_To_Desktop_2
$read_to_move = GUICtrlRead($List1)
GUICtrlSetData($List2, $read_to_move)
$Desktop2[0] = $Desktop2[0] + 1
ReDim $Desktop2[$Desktop2[0] + 1]
$Desktop2[$Desktop2[0]] = $read_to_move
_UpdateList1()
EndSwitch
WEnd
Func _UpdateList1()
$handle = GUICtrlGetHandle($List1)
If Not @error Then
_GUICtrlListBox_Destroy($handle)
$List1 = GUICtrlCreateList("", 8, 56, 193, 253)
_SetWinList1($List1)
EndIf
EndFunc ;==>_UpdateList1
Func _SetWinList1($List)
$winList = WinList()
For $i = 1 To $winList[0][0]
If $winList[$i][0] <> "" And IsVisible($winList[$i][1]) And IsDesktop2($winList[$i][0]) Then
If $winList[$i][0] <> "Desktop Tools" Then
If $winList[$i][0] <> "Start" Then
If $winList[$i][0] <> "Program Manager" Then
If $winList[$i][0] <> "Virtuell Desktop" Then
GUICtrlSetData($List, $winList[$i][0])
EndIf
EndIf
EndIf
EndIf
EndIf
Next
EndFunc ;==>_SetWinList1
Func IsVisible($handle)
If BitAND(WinGetState($handle), 2) And BitAND(WinGetState($handle), 4) And BitAND(WinGetState($handle), 1) Then
Return 1
Else
Return 0
EndIf
EndFunc ;==>IsVisible
Func IsDesktop2($win)
If ($Desktop2[0] > 0) Then
For $i = 1 To $Desktop2[0]
If $win = $Desktop2[$i] Then
return 0
else
return 1
Endif
Next
else
return 1
Endif
EndFunc ;==>IsDesktop2
Mfg.simon
Schön
Vielleicht solltest du einfach einen verschieben Button machen, denn wenn man eträge von der rechten Seite nach noch weiter rechts verschieben will verschwinden sie.
mfg Ubuntu
Haste recht aber ein anderer bug ist auch, dass wenn man auf der ersten seite auf eines klickt und dann auf rüberschieben also auf > und da funktioniert auch
aber wenn ich jetzt ein zweites auf desktop2 schieben will, dann kommt es auch auf desktop 2 , aber bleibt auf desktop 1 auch
ich hoffe ihr könnt mir da helfen
Danke an name22, er hat dieses Tool geschrieben und es läuft ohne Probleme ![]()
Hat jemand schon vor ein Tool zu schreiben, um Informationen von einem PC auszulesen und durch GDI+ zu zeichnen:
Hier hab ich ein Theme:
[Blockierte Grafik: http://www.imagebanana.com/img/xoz5x8rs/pc_infos.png]
Einfach auf ein Fenster und die jeweiligen Infos in die richtige Position durch GDI+ zeichnen.
Was haltet ihr hiervon?
Mein kleines MouseMeter müsste ich allerdings noch auf GDI+ umschreiben was kein Problem sein dürfte ;).
Einstellungen könnt ihr per Rechtsklick vornehmen, welche dann in einer ini gespeichert werden.
Besonders gefällt mir die Fensterverschiebung (einfach mal ins Fenster klicken und die Maus bewegen)
.
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Misc.au3>
$iGUIWidth = 165
$iGUIHeight = 290
$iDeskDiag = IniRead("Data.ini", "Const", "DeskDiagInch", -1)
If $iDeskDiag = -1 Then
$iDeskDiag = InputBox("Bildschirmdiagonale", "Länge der Bildschirmdiagonale in Zoll: ", "17")
If StringReplace($iDeskDiag, " ", "") = "" Then Exit
IniWrite("Data.ini", "Const", "DeskDiagInch", $iDeskDiag)
EndIf
$iTrans = IniRead("Data.ini", "Options", "Trans", -1)
If $iTrans = -1 Then
$iTrans = 200
IniWrite("Data.ini", "Options", "Trans", $iTrans)
EndIf
$sPos = IniRead("Data.ini", "Options", "WinPos", -1)
If $sPos = -1 Then
$sPos = @DesktopWidth - $iGUIWidth & ";" & @DesktopHeight - $iGUIHeight
$iX = @DesktopWidth - $iGUIWidth
$iY = @DesktopHeight - $iGUIHeight
IniWrite("Data.ini", "Options", "WinPos", $sPos)
Else
$aPosTmp = StringSplit($sPos, ";", 2)
$iX = $aPosTmp[0]
$iY = $aPosTmp[1]
EndIf
$iColorRGB = IniRead("Data.ini", "Options", "Color", -1)
If $iColorRGB = -1 Then
$iColorRGB = 0x545454
IniWrite("Data.ini", "Options", "Color", $iColorRGB)
EndIf
$PPI = Sqrt(@DesktopWidth ^ 2 + @DesktopHeight ^ 2) / $iDeskDiag
$PPCm = Sqrt(@DesktopWidth ^ 2 + @DesktopHeight ^ 2) / ($iDeskDiag * 2.54)
$hWnd = GUICreate("MouseMeter", $iGUIWidth, $iGUIHeight, $iX, $iY, $WS_POPUP, $WS_EX_TOPMOST)
$cMenu = GUICtrlCreateContextMenu()
$cColorChoose = GUICtrlCreateMenuItem("Farbe...", $cMenu)
$cTransparency = GUICtrlCreateMenuItem("Transparenz...", $cMenu)
GUISetBkColor($iColorRGB, $hWnd)
$Label1 = GUICtrlCreateLabel("Zurückgelegte Strecke:", 10, 10, 155)
GUICtrlSetFont(-1, 10)
GUICtrlSetColor(-1, 0xFFFFFF)
$Label2 = GUICtrlCreateLabel("Zentimeter:", 10, 40)
GUICtrlSetFont(-1, 10)
GUICtrlSetColor(-1, 0xFFFFFF)
$Label3 = GUICtrlCreateLabel("0", 10, 55, 70)
GUICtrlSetFont(-1, 10)
GUICtrlSetColor(-1, 0xFFFFFF)
$Label4 = GUICtrlCreateLabel("Meter:", 10, 75)
GUICtrlSetFont(-1, 10)
GUICtrlSetColor(-1, 0xFFFFFF)
$Label5 = GUICtrlCreateLabel("0", 10, 90, 70)
GUICtrlSetFont(-1, 10)
GUICtrlSetColor(-1, 0xFFFFFF)
$Label6 = GUICtrlCreateLabel("Inch:", 10, 110)
GUICtrlSetFont(-1, 10)
GUICtrlSetColor(-1, 0xFFFFFF)
$Label7 = GUICtrlCreateLabel("0", 10, 125, 70)
GUICtrlSetFont(-1, 10)
GUICtrlSetColor(-1, 0xFFFFFF)
$Label8 = GUICtrlCreateLabel("Pixel:", 10, 145)
GUICtrlSetFont(-1, 10)
GUICtrlSetColor(-1, 0xFFFFFF)
$Label9 = GUICtrlCreateLabel("0", 10, 160, 70)
GUICtrlSetFont(-1, 10)
GUICtrlSetColor(-1, 0xFFFFFF)
$Label10 = GUICtrlCreateLabel("Geschwindigkeit:", 10, 180, 155)
GUICtrlSetFont(-1, 10)
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetFont(-1, 10)
$Label11 = GUICtrlCreateLabel("Meter/Sekunde:", 10, 205)
GUICtrlSetFont(-1, 10)
GUICtrlSetColor(-1, 0xFFFFFF)
$Label12 = GUICtrlCreateLabel("0", 10, 220, 70)
GUICtrlSetFont(-1, 10)
GUICtrlSetColor(-1, 0xFFFFFF)
$Label13 = GUICtrlCreateLabel("Meter/Sekunde (Durchschnitt):", 10, 235, 100, 50)
GUICtrlSetFont(-1, 10)
GUICtrlSetColor(-1, 0xFFFFFF)
$Label14 = GUICtrlCreateLabel("0", 10, 265, 70)
GUICtrlSetFont(-1, 10)
GUICtrlSetColor(-1, 0xFFFFFF)
$Reset = GUICtrlCreateButton("Zurücksetzen", 90, 75, 70, 25)
$Exit = GUICtrlCreateButton("Beenden", 90, 105, 70, 25)
WinSetTrans($hWnd, "", $iTrans)
GUISetState()
$hWnd_Slider = GUICreate("Transparenz", 200, 50)
$cSlider = GUICtrlCreateSlider(5, 5, 190, 40)
GUICtrlSetLimit(-1, 255, 0)
GUICtrlSetData($cSlider, $iTrans)
$aPosOld = MouseGetPos()
$iDistance = 0
$iTime = TimerInit()
AdlibRegister("_Update", 30)
While 1
$nMsg = GUIGetMsg(1)
Switch $nMsg[0]
Case $GUI_EVENT_CLOSE, $Exit
IniWrite("Data.ini", "Options", "WinPos", $iX & ";" & $iY)
Exit
Case $Reset
$iTime = TimerInit()
$iDistance = 0
_Update()
Case $GUI_EVENT_PRIMARYDOWN
_SetPos()
Case $cColorChoose
$iColorRGB_Tmp = _ChooseColor(2)
If $iColorRGB_Tmp <> -1 Then GUISetBkColor($iColorRGB_Tmp, $hWnd)
IniWrite("Data.ini", "Options", "Color", $iColorRGB_Tmp)
Case $cTransparency
GUISetState(@SW_DISABLE, $hWnd)
GUISetState(@SW_SHOW, $hWnd_Slider)
Do
WinSetTrans($hWnd, "", GUICtrlRead($cSlider))
Until GUIGetMsg() = $GUI_EVENT_CLOSE
IniWrite("Data.ini", "Options", "Trans", GUICtrlRead($cSlider))
GUISetState(@SW_ENABLE, $hWnd)
GUISetState(@SW_HIDE, $hWnd_Slider)
EndSwitch
WEnd
Func _Update()
$iTime2 = TimerInit()
$aPosNew = MouseGetPos()
$iDiff = _GetPointsDistance($aPosOld[0], $aPosOld[1], $aPosNew[0], $aPosNew[1])
$iDistance += $iDiff
GUICtrlSetData($Label3, Floor($iDistance / $PPCm))
GUICtrlSetData($Label5, Floor($iDistance / $PPCm / 100))
GUICtrlSetData($Label7, Floor($iDistance / $PPI))
GUICtrlSetData($Label9, Floor($iDistance))
GUICtrlSetData($Label12, Round(($iDiff / $PPCm / 100) / (TimerDiff($iTime2) / 1000), 4))
GUICtrlSetData($Label14, Round(($iDistance / $PPCm / 100) / (TimerDiff($iTime) / 1000), 4))
$aPosOld[0] = $aPosNew[0]
$aPosOld[1] = $aPosNew[1]
EndFunc ;==>_Update
Func _SetPos()
Sleep(200)
$aPosMouse = MouseGetPos()
$iDistanceX = $iX - $aPosMouse[0]
$iDistanceY = $iY - $aPosMouse[1]
While _IsPressed("01")
$aPosMouse = MouseGetPos()
$iDiffX = $aPosMouse[0] - $iX + $iDistanceX
$iDiffY = $aPosMouse[1] - $iY + $iDistanceY
$iSpeedX = $iDiffX / 10
$iSpeedY = $iDiffY / 10
$iX += $iSpeedX
$iY += $iSpeedY
WinMove($hWnd, "", $iX, $iY)
Sleep(30)
WEnd
EndFunc ;==>_SetPos
Func _GetPointsDistance($iPointX1, $iPointY1, $iPointX2, $iPointY2)
Return Sqrt(($iPointX1 - $iPointX2) ^ 2 + ($iPointY1 - $iPointY2) ^ 2)
EndFunc ;==>_GetPointsDistance
Ich würde das gerne so anpassen, dass es zu euren anderen Tools passt, aber ich wollte vorher noch schauen ob ihr das überhaupt gebrauchen könnt. ![]()
Edit:
@tince Möchtest du das machen oder wolltest du nur deine Idee bereitstellen und fragen wer Lust hat das zu umzusetzen? ![]()
name22: Wer Lust hat, kann es umsetzen. Ich hab dafür leider keine Zeit. ![]()
Zitatname22: Wer Lust hat, kann es umsetzen. Ich hab dafür leider keine Zeit.
Gut ich hätte Lust... Sobald ich weiß ob mein MouseMeter hier Anklang findet mache ich das auch noch... ![]()