Archiv verlassen und diese Seite im Standarddesign anzeigen : [C++] Suche jemand der mir einen Bug in LiteStep fixed (Zahle dafuer)
Siegfried
2008-01-07, 13:49:49
ich hab son problem mit litestep ner windows shell
manche windows werden nicht korrekt minimiert
details hier http://www.siegfried.it/prvfiles/litestep.htm
den sourcecode gibts hier http://www.lsdev.org/lib/exe/fetch.php?id=lsdev%3Adownloads&cache=cache&media=lsdev:downloads:ls-0.24.7-src.zip
ordner "lsapi" datei "bangs.cpp" nehme ich an
das verbuggte command ist "!MinimizeWindows"
//
// BangMinimizeWindows(HWND hCaller, LPCSTR pszArgs)
//
void BangMinimizeWindows(HWND /* hCaller */, LPCSTR /* pszArgs */)
{
EnumWindows(WindowsEnumProc, (LPARAM)SW_MINIMIZE);
}
alternativ suche ich nach irgendeiner anderen methode unter litestep alle windows im foreground korrekt zu minimieren
weis nicht wieviel ihr dafuer haben wollt
macht einfach nen preisvorschlag
Sephiroth
2008-01-07, 15:39:59
//
// CALLBACK WindowsEnumProc(HWND hWnd, LPARAM lParam)
//
BOOL CALLBACK WindowsEnumProc(HWND hWnd, LPARAM lParam)
{
/* Based off of Jugg's task.dll */
if (IsWindow(hWnd))
{
if ((GetWindowLong(hWnd, GWL_USERDATA) != magicDWord) &&
(!(GetWindowLong(hWnd, GWL_STYLE) & WS_CHILD) &&
(GetWindowLong(hWnd, GWL_STYLE) & WS_VISIBLE)) &&
(!(GetWindowLong(hWnd, GWL_EXSTYLE) & WS_EX_TOOLWINDOW)))
{
ShowWindow(hWnd, (UINT)lParam);
}
}
return TRUE;
}
Wenn du das rot Markierte entfernst (und neu kompilierst), sollten schon einige Fenster mehr minimiert werden. (Kind-Fenster und solche, die nicht in der Taskbar zu sehen sind)
Siegfried
2008-01-07, 23:13:46
cool ich werds mal probieren
(sobald ich rausfinde wie man die source kompiliert X-()
edit: kann jetzt alles kompilieren
Siegfried
2008-01-08, 09:46:43
achso nee
das problem mit !minimizewindows is nich dass zu wenig fenster minimiert werden
das eigentliche problem ist manche werden nicht korrekt minimiert
mit !tasksminimize aus der dll tasks (http://www.modules.ls-universe.info/modules/source/tasks-0.96.1-src.zip) funktioniert das einwandfrei
nur damit werden dann wiederrum programme die z.b. im tray sind nicht minimiert
Siegfried
2008-01-09, 06:11:36
die funktionierende minimize funktion in tasks sieht so aus:
void TasksMinimize(HWND caller, const char * args)
{
if(g_bTasksDisabled) return;
if(IsDockWindowValid())
for (int i=0;i<numTasks;i++)
if(!tasks[i].IsIconic)
SendMessage(tasks[i].appHandle, WM_SYSCOMMAND, (WPARAM)SC_MINIMIZE, 0);
return;
UNREFERENCED_PARAMETER(caller);
UNREFERENCED_PARAMETER(args);
}
void TasksMaximize(HWND caller, const char * args)
{
if(g_bTasksDisabled) return;
if(IsDockWindowValid())
for (int i=0;i<numTasks;i++)
SendMessage(tasks[i].appHandle, WM_SYSCOMMAND, (WPARAM)SC_MAXIMIZE, 0);
return;
UNREFERENCED_PARAMETER(caller);
UNREFERENCED_PARAMETER(args);
aber das minimiert halt nur alles inner taskbar...
Siegfried
2008-01-11, 01:27:44
zahle 50eur
Obligaron
2008-01-11, 23:37:51
Wie wäre es dann einfach mit:
//
// CALLBACK WindowsEnumProc(HWND hWnd, LPARAM lParam)
//
BOOL CALLBACK WindowsEnumProc(HWND hWnd, LPARAM lParam)
{
/* Based off of Jugg's task.dll */
if (IsWindow(hWnd))
{
if ((GetWindowLong(hWnd, GWL_USERDATA) != magicDWord) &&
(!(GetWindowLong(hWnd, GWL_STYLE) & WS_CHILD) &&
(GetWindowLong(hWnd, GWL_STYLE) & WS_VISIBLE)) &&
(!(GetWindowLong(hWnd, GWL_EXSTYLE) & WS_EX_TOOLWINDOW)))
{
PostMessage(hWnd,WM_SYSCOMMAND,SC_MINIMIZE,0);
}
}
return TRUE;
}
?
Funktioniert bei mir zumindest mit Teamspeak
Siegfried
2008-01-12, 00:55:24
//
// CALLBACK WindowsEnumProc(HWND hWnd, LPARAM lParam)
//
BOOL CALLBACK WindowsEnumProc(HWND hWnd, LPARAM lParam)
{
/* Based off of Jugg's task.dll */
if (IsWindow(hWnd))
{
if ((GetWindowLong(hWnd, GWL_USERDATA) != magicDWord) &&
(!(GetWindowLong(hWnd, GWL_STYLE) & WS_CHILD) &&
(GetWindowLong(hWnd, GWL_STYLE) & WS_VISIBLE)) &&
(!(GetWindowLong(hWnd, GWL_EXSTYLE) & WS_EX_TOOLWINDOW)))
{
ShowWindow(hWnd, (UINT)lParam);
}
}
return TRUE;
}
Wenn du das rot Markierte entfernst (und neu kompilierst), sollten schon einige Fenster mehr minimiert werden. (Kind-Fenster und solche, die nicht in der Taskbar zu sehen sind)
das ist sehr nice weil es sogar winamp minimiert
allerdings stockt das ganze system wenn ich damit winamp (das im tray sitzt) minimiere X-(
ist winamp bereits minimiert funktioniert es soweit bei meinen programmen
edit: nevermind das ist ein winamp problem
funktioniert einwandfrei
edit2: der samurize config editor dreht damit total durch
Wie wäre es dann einfach mit:
//
// CALLBACK WindowsEnumProc(HWND hWnd, LPARAM lParam)
//
BOOL CALLBACK WindowsEnumProc(HWND hWnd, LPARAM lParam)
{
/* Based off of Jugg's task.dll */
if (IsWindow(hWnd))
{
if ((GetWindowLong(hWnd, GWL_USERDATA) != magicDWord) &&
(!(GetWindowLong(hWnd, GWL_STYLE) & WS_CHILD) &&
(GetWindowLong(hWnd, GWL_STYLE) & WS_VISIBLE)) &&
(!(GetWindowLong(hWnd, GWL_EXSTYLE) & WS_EX_TOOLWINDOW)))
{
PostMessage(hWnd,WM_SYSCOMMAND,SC_MINIMIZE,0);
}
}
return TRUE;
}
?
Funktioniert bei mir zumindest mit Teamspeak
hm ziemlich coole sache
minimiert jetzt problem-programme wie teamspeak und nbitor korrekt
nur tvgenial bugged komischerweise noch
es wird zwar minimiert aber wenn man es wieder maximieren will ueber die taskbar ist es bugged
edit: kann dir bei interesse meine portable tvgenial version schicken
edit: biet-o-matic minimiert damit auch nicht korrekt
Siegfried
2008-01-13, 05:33:17
edit: vorerst kein interesse mehr an einem fix
warte erstmal auf ne antwort wegen anderen litestep bugs...
Man möge mir bitte verzeihen, aber möcht nicht unnötig einen neuen Thread starten.
Läuft LiteStep unter Vista?
Wollt ne Shell für XP machen, nur jetzt Arbeit für ca 1 Jahr investieren und dann per neuen PC auf Vista umsteigen und die LiteStep Shell in die Tonne hauen möcht ich auch net gern....
Siegfried
2008-01-15, 05:20:06
ja litestep laeuft ganz normal unter vista
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.