Your browser does not seem to support CSS. If images appear below, please disregard them.
toggle
May
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Sponsored Links
Latest Postings
Topic Options
Rate This Topic
#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
Top
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
Top
#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
Top
#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
Top
#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)
Top
#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
Top

Member Spotlight
Gremelin

Gremelin
Portland, OR; USA
Posts: 7,194
Joined: February 2002
Show All Member Profiles 
Forum Statistics
Forums46
Topics45,754
Posts80,922
Members2,157
Most Online1,567
Apr 25th, 2010
Top Posters(All Time)
UGN Security 38,918
Gremelin 7,194
§intå× 3,255
SilentRage 1,273
Ice 1,146
pergesu 1,136
Infinite 1,041
jonconley 955
Girlie 908
unreal 860
Newest Members
Herbert_Sherbert, codemauve, Lillysdragon1984, Brewwit, boa
2157 Registered Users
Who's Online Now
0 registered members (), 2 guests and 4 spiders.
Latest News