Your browser does not seem to support CSS. If images appear below, please disregard them.
It appears that you're running an Ad-Blocker. This site is monetized by Advertising and by User Donations; we ask that if you find this site helpful that you whitelist us in your Ad-Blocker, or make a Donation to help aid in operating costs.
Previous Thread
Next Thread
Print Thread
Rate This Thread
#17690 - 09/18/02 04:30 AM Two Questions  
Joined: Mar 2002
Posts: 185
Mornse Offline
Member
Mornse  Offline
Member

Joined: Mar 2002
Posts: 185
Vancouver
1. Is there a maximum amount of characters you can store in a key in the registry (I know it's not really a VB question, but it's for a program I'm working on and I want to know if I have to have a maximum length of data allowable since I save the string in the registry).

2. How can you make a form that you load, load infront of everything else. Right now it will load in front of all other programs if you aren't doing anything. But if you are typing ,for example, in notepad, the form will load behind notepad so that notepad is still visible. How do you get it to load infront? I can't figure it out. That is, without using DirectX, and I'm sure there has to be an easier way since that is far too complicated.


Cha want some w***up?

http://www.dopeskill.com
Sponsored Links
#17691 - 09/18/02 01:49 PM Re: Two Questions  
Joined: Mar 2002
Posts: 1,273
SilentRage Offline
DollarDNS Owner
SilentRage  Offline
DollarDNS Owner

Joined: Mar 2002
Posts: 1,273
OH, USA
Registry:
Max KeyLen = 255
Max ValueLen = 255
Max StringData = 4 KB

Window-On-Top (tell me if this doesn't work)

'Declaration Block
Private Declare Function SetWindowPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Const HWND_TOP = 0
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const SWP_SHOWWINDOW = &H40

'Code Block
SetWindowPos Form1.hwnd, HWND_TOP, 0, 0, 0, 0, SWP_NOSIZE + SWP_NOMOVE + SWP_SHOWWINDOW


Domain Registration, Hosting, Management
http://www.dollardns.net
#17692 - 10/02/02 04:28 AM Re: Two Questions  
Joined: Mar 2002
Posts: 185
Mornse Offline
Member
Mornse  Offline
Member

Joined: Mar 2002
Posts: 185
Vancouver
Nope, code didn't work, unless I did it wrong. I put the declaration in the General-Declaration section and I put the code block in the Form Load section, and I replaced Form1 with the name of my form. Did I do it wrong or is the code wrong?


Cha want some w***up?

http://www.dopeskill.com
#17693 - 10/02/02 01:48 PM Re: Two Questions  
Joined: Mar 2002
Posts: 1,273
SilentRage Offline
DollarDNS Owner
SilentRage  Offline
DollarDNS Owner

Joined: Mar 2002
Posts: 1,273
OH, USA
Well, the reason I asked you to tell me if it worked, is cause I've had trouble doing what you're wanting to do. This time however, I did some heavy research into the matter and found your answer - but you won't like it.

Since win98 and Win2k windows restricts what processes are allowed to use the 'SetForegroundWindow' function. While there are many functions that relates to the top/active/focused window, only 'SetForegroundWindow' does precisely what you want.

One of the following conditions must be true in order for your process to use the 'SetForegroundWindow' function.

* The process is the foreground process.
* The process was started by the foreground process.
* The process received the last input event.
* There is no foreground process.
* The foreground process is being debugged.
* The foreground is not locked (see LockSetForegroundWindow).
* The foreground lock time-out has expired (see SPI_GETFOREGROUNDLOCKTIMEOUT in SystemParametersInfo).
* Windows 2000/XP: No menus are active.

Also, here's another interesting tidbit:

"The system automatically enables calls to SetForegroundWindow if the user presses the ALT key or takes some action that causes the system itself to change the foreground window (for example, clicking a background window)."

So after reading all those conditions, I figured it may be possible to do a 'hack' and trick the OS into letting you change the foreground window - even when another process as the focus. However, I am too lazy to bother trying so I instead gave you all the information you needed to figure out how yourself.

Related Material:

SetForegroundWindow
AllowSetForegroundWindow
LockSetForegroundWindow


Domain Registration, Hosting, Management
http://www.dollardns.net
#17694 - 10/02/02 04:08 PM Re: Two Questions  
Joined: Mar 2002
Posts: 257
psychogen Offline
Member
psychogen  Offline
Member

Joined: Mar 2002
Posts: 257
UK
:p

some things just are a bitch


The use of "hacker" to mean "security breaker" is a confusion on the part of the mass media. We hackers refuse to recognize that meaning, and continue using the word to mean, "Someone who loves to program and enjoys being clever about it."
--------------------
"Its not a bug, its a feature" (Epic Games)
Sponsored Links
#17695 - 10/02/02 11:30 PM Re: Two Questions  
Joined: Mar 2002
Posts: 185
Mornse Offline
Member
Mornse  Offline
Member

Joined: Mar 2002
Posts: 185
Vancouver
Well, I looked over some of that material, and I think that if maybe I worked at it for a long time I might be able to figure it out, but I had another idea. I looked back over the code from my game programming days (heh, those didn't get too far, but I learned some cool shit), and found some DirectX code. This code will automatically set your form to the foreground. The only thing is that the user has to have DirectX installed.

-First you have to reference DirectX 7, to do this go to Project->References->DirectX 7 Visual Basic Library, and select it.

Declarations:

Dim dx As New DirectX7 'This is the root object. DirectDraw is created from this
Dim dd As DirectDraw7 'This is DirectDraw, all things DirectDraw come from here

Code:

Set dd = dx.DirectDrawCreate("") 'the ("") means that we want the default driver

Me.Show 'maximises the form and makes sure it's visible

Call dd.SetCooperativeLevel(Me.hwnd, DDSCL_FULLSCREEN Or DDSCL_ALLOWMODEX Or DDSCL_EXCLUSIVE)

----

Do you guys think it's realistic to use this code, like will most people have DirectX installed? Or you could like install DirectX with the program right?


Cha want some w***up?

http://www.dopeskill.com

Member Spotlight
Gremelin
Gremelin
Portland, OR; USA
Posts: 7,195
Joined: February 2002
Show All Member Profiles 
Forum Statistics
Forums45
Topics46,786
Posts81,956
Average Daily Posts11
Members2,159
Most Online1,567
Apr 25th, 2010
Latest Postings
Top Posters(All Time)
UGN Security 39,950
Gremelin 7,195
§intå× 3,255
SilentRage 1,273
Ice 1,146
pergesu 1,136
Infinite 1,041
jonconley 955
Girlie 908
unreal 860
Top Liked Users (All Time)
§intå× Likes: 1
Cold Sunn Likes: 1
Crime Likes: 1
Cyrez Likes: 1
Ghost Likes: 1
Gremelin Likes: 4
Ice Likes: 1
unreal Likes: 1
Top Liked Users (30 Days)
Powered by UBB.threads™ PHP Forum Software 7.6.0
(Snapshot build 20160902)