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
Thanks!
HideGUI question
Moderators: Tyler, Scott, General Moderator
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?" A coworker who was at the meeting told me later "that was nothing, you didn't see the looks on their faces!"
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
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?" A coworker who was at the meeting told me later "that was nothing, you didn't see the looks on their faces!"
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
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
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
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 Now libraries will be able to choose between specifying a few available programs, or open up the whole computer (sans Task Manager ) 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... "
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 Now libraries will be able to choose between specifying a few available programs, or open up the whole computer (sans Task Manager ) 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... "
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
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
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
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
-
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