HideGUI question

General TSS software questions and comments.

Moderators: Tyler, Scott, General Moderator

Post Reply
spragers
Benefactor
Benefactor
Posts: 153
Joined: Fri Dec 27, 2002 9:11 am
Contact:

HideGUI question

Post by spragers »

Hi Scott,

As we try to offer more and more programs on our public computer stations, my checkout program is beginning to reach it's limitations. The log-on program launches up to eight programs, which may not be enough in some libraries. I was about to look into how to disable the Windows GUI when I remembered your HideGUI program. Would the following setup work?

- my sign-on program calls HideGUI, hides the taskbar, start menu, desktop etc. (would my program still be visible?)

- after signing in, my program calls HideGUI again and un-hides everything

Almost seems too simple :-D

Thanks!

Scott
Site Admin
Site Admin
Posts: 2527
Joined: Mon Dec 16, 2002 12:31 pm
Location: Rochester, MN
Contact:

Post by Scott »

That should work, and it should be that simple.

Please let me know if you want me to make modification to HideGUI to allow it to work better with program.

--Scott

spragers
Benefactor
Benefactor
Posts: 153
Joined: Fri Dec 27, 2002 9:11 am
Contact:

Post by spragers »

Woot! This may be just what I need to take my checkout system to the "next level" lol... I just made a quick test program at home and ran it, all I had it do was hide the desktop etc., sleep 10 seconds, then un-hide it... and it worked perfectly!

After using my checkout system at our library for five years now, the other libraries in our system are finally starting to take notice, after I gave a demonstration at a recent director's meeting. One of the librarians there asked "did you... um, make this yourself?" :D A coworker who was at the meeting told me later "that was nothing, you didn't see the looks on their faces!" :lol:

RapidQ may not be the most powerful programming language around LOL but between the ability to use API calls, Jorgen Bosman's Poweroff, your HideGUI program, and a couple Registry tweaks, it's a complete package :)

Scott
Site Admin
Site Admin
Posts: 2527
Joined: Mon Dec 16, 2002 12:31 pm
Location: Rochester, MN
Contact:

Post by Scott »

Is RapidQ able to make function calls into DLLs? I could wrap most all the functionality of HideGUI into a DLL instead of an executable.

I know the feeling, software and support this good has to come from a giant software development house, right? No, in fact because we are small we are able to make changes within days instead of months, and we are intimately familiar with our own software so if there is a problem we know right where to look. Long live the independent developer. ;-)

If I can be of any help please let me know.

--Scott

spragers
Benefactor
Benefactor
Posts: 153
Joined: Fri Dec 27, 2002 9:11 am
Contact:

Post by spragers »

Hi Scott,

I know that for the programming language itself, there's a .DLL file that's involved. I *think* you can call functions from a DLL file, but I'm not sure. Here's an example of an API call in RapidQ:

DECLARE FUNCTION SetWindowLong Lib "User32" Alias "SetWindowLongA" (hwnd as Long, nIndex as Long, dwNewLong as Long) as Long

Not how that compares with VB or C, but that's I do it. I've seen RapidQ code examples where the first few pages are nothing but API declarations LOL! Really useful though in forcing windows to the front, and setting sockets to non-blocking mode (that alone improved my program 100%).

I did notice an issue with HideGUI just now, though - if you run it from the command line, and use the /h parameter, and you've already hidden everything, HideGui actually un-hides everything. In other words, hiding twice cancels itself out. Is there a way to check if it's already been hidden? I've already fixed up my code so that it knows whether to call HideGUI or not, but it might be a good fail-safe :)

This is great... computer boots up, Sentinel loads, desktop and everything else disappears... patron signs in, everything comes back. Patron signs off, and *poof* it's gone again... I love it :D Now libraries will be able to choose between specifying a few available programs, or open up the whole computer (sans Task Manager 8) ) while still having time limits and automatic log-offs...

It almost makes me want to tell the Pharos folks, "anything you can do, I can do... almost as well... except that print queue stuff... :lol: "

Scott
Site Admin
Site Admin
Posts: 2527
Joined: Mon Dec 16, 2002 12:31 pm
Location: Rochester, MN
Contact:

Post by Scott »

Well if it is working no use complicating it with a DLL.

Can RapidQ use "CreateMutex" API? HideGUI creates a mutex when it starts and uses the "GetLastError" API to check to see if the mutex already exists to see if HideGUI is running.

// check for second instance
m_hMutex = CreateMutex(NULL, FALSE, _T("TSSHideGUI") );
if( GetLastError() == ERROR_ALREADY_EXISTS )
{
...
...
}


If you ware interested, I am working on Print Queue control for WinBatten which will allow complete control of the computer Print Queues, but it is just in the begining stages of development.

--Scott

spragers
Benefactor
Benefactor
Posts: 153
Joined: Fri Dec 27, 2002 9:11 am
Contact:

Post by spragers »

That won't really work, as I use the /q option to quit HideGUI after hiding or showing the desktop, etc. - because I need to be able to call HideGUI multiple times, to switch back and forth between settings.

It's working well as-is for now, just using the command line. After all, I should make sure that my code works correctly first, before I ask someone else to change their code when there's nothing wrong with it 8)

Thomasfab
Observer
Observer
Posts: 5
Joined: Tue Nov 24, 2020 3:09 am
Location: Tunisia
Contact:

-

Post by Thomasfab »

Hello One question, there is a way to link Catalan Language Support from the forum to Community Translations. If anyone knows how to do it, I would appreciate it if you could explain it to me. Thank you very much

Post Reply