How do I save the user’s screen rez height and width so I can use it when they open my vb program the next time? I know i have to save it in an .ini file but have no idea how to do it. Thanks
![]() |
Patch reliability is unclear. Unless you have an immediate, pressing need to install a specific patch, don't do it. |
SIGN IN | Not a member? | REGISTER | PLUS MEMBERSHIP |
-
Save screen resolution in an .ini file (w95, w2000, vb6)
Home » Forums » AskWoody support » Productivity software by function » Visual Basic for Applications » Save screen resolution in an .ini file (w95, w2000, vb6)
- This topic has 16 replies, 6 voices, and was last updated 23 years, 2 months ago.
Viewing 2 reply threadsAuthorReplies-
WScharlotte
AskWoody LoungerMarch 31, 2002 at 6:45 pm #579582Take a look at this post for some routines that read and write to an .ini file. In that case it’s printer information, but you can adapt it for your needs.
Another alternative is to use SaveSetting and GetSetting to create and read a registry key , which is much simpler but can’t be migrated to another machine the way an .ini file can.
-
WSHoward Kaikow
AskWoody Lounger -
WSjha900
AskWoody Lounger -
WSHoward Kaikow
AskWoody Lounger -
WSBigKev
AskWoody LoungerApril 1, 2002 at 12:49 pm #579637I agree with Howard. Why store those values when the .Height and .Width properties of the Screen object return the values you need. After all, if you store them you have to retrieve them and that is a lot more work than using the Height and Width properties of the Screen object.
Regards,
Kevin Bell
-
WSjha900
AskWoody LoungerApril 1, 2002 at 4:46 pm #579666ok, yes now i see. After the user resizes their window i want to save the height and width and use the next time they open the program. I looked up code on saving to an .ini file but don’t understand it. I just want to save it somehow in my vb6 program so when the user opens the program up the window will be the same size as when they closed it. thanks for all the posts and the help
-
WSHoward Kaikow
AskWoody LoungerApril 1, 2002 at 8:45 pm #579695IT’s deeper than that.
You do not want to SAVE those values, rather, you need to have your code set up to automagically react to screen resolution changes.
The user might change the screen resolution whilst the macro is running. Whilst this may not happen often, you need to take this into account.
Look into the Resize event.
-
WSjha900
AskWoody Lounger -
WSjscher2000
AskWoody LoungerApril 2, 2002 at 1:20 am #579786Actually, I think the program needs to save both sets of values, user’s desired window size and user’s screen resolution, to make future adjustments possible. I do think it’s a good idea to save it in an .ini file. We have an application that saves screen coordinates in an Access database with all its other data, and every now and again the window will disappear offscreen due to some faulty program logic applied to extra-high resolution displays. I have to open the table in Excel to fix the data to avoid upconverting the data file to the latest version of Access. One shouldn’t have to do that; .ini file good.
-
WSHoward Kaikow
AskWoody LoungerApril 2, 2002 at 5:42 pm #580004Saving the values is of no use.
The macro has to check the resolutiion when it is running.The programmer has to include the design time resolution within the code, ie., the resolution on whatever system the code was written.
Size is then adjusted at run-time whenever the macro runs.
This topic is covered in a number of VB and Access programming books.
I know that Ken Getz covers this in his Access programming books and, I believe, that Gary Cornell addresses the issue in Visual Basic 6 from the Ground Up.
-
WSjscher2000
AskWoody LoungerApril 3, 2002 at 12:06 am #580084 -
WSHoward Kaikow
AskWoody Lounger -
WSjscher2000
AskWoody LoungerApril 3, 2002 at 4:35 am #580119I refer you to Post #129209.
-
-
-
-
WSRMittelman
AskWoody LoungerApril 4, 2002 at 4:02 pm #580532I noticed nobody actually answered your question,
rather explained why you would or wouldn’t want to do
what you want to do. Here’s a couple of routines
which should help.Private Declare Function GetPrivateProfileString Lib "kernel32" _ Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _ ByVal lpKeyName As Any, ByVal lpDefault As String, _ ByVal lpReturnedString As String, _ ByVal nSize As Long, ByVal lpFileName As String) As Long Private Declare Function WritePrivateProfileString Lib "kernel32" _ Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, _ ByVal lpKeyName As Any, ByVal lpString As Any, _ ByVal lpFileName As String) As Long Function ReadIni(IniFile As String, _ Section As String, _ Key As String, _ Optional Default As String = "", _ Optional TrimSemicolon As Boolean = True, _ Optional TrimSpaces As Boolean = True) _ As String 'Reads and returns data from , ' using
and to find item. 'If item not found, is returned. 'If is not sent, or sent as ' True, any text following ";" is removed. 'If is not sent, or sent as ' True, any trailing blank spaces are removed. Dim lBufSize As Long Dim sBuffer As String Dim lSize As Long lBufSize = 2048 sBuffer = Space$(lBufSize) 'Retrieve the string lSize = GetPrivateProfileString(Section, _ Key, _ Default, _ sBuffer, _ lBufSize, _ IniFile) sBuffer = Left$(sBuffer, lSize) If TrimSemicolon And InStr(1, sBuffer, ";") > 0 Then sBuffer = Left$(sBuffer, _ InStr(1, sBuffer, ";") - 1) End If If TrimSpaces Then sBuffer = RTrim$(sBuffer) End If ReadIni = sBuffer End Function Sub WriteIni(IniFile As String, _ Section As String, _ Key As String, _ Value As String) 'Writes to , ' in , using = format. 'If doesn't exist, it is added. 'Verifies , & are ' valid, but allows blank . If Dir$(IniFile) > "" _ And Section > "" _ And Key > "" Then WritePrivateProfileString Section, Key, Value, IniFile endif End Sub Feel free to e-mail with questions.
-
WSjha900
AskWoody Lounger -
WSRMittelman
AskWoody Lounger
-
Viewing 2 reply threads -

Plus Membership
Donations from Plus members keep this site going. You can identify the people who support AskWoody by the Plus badge on their avatars.
AskWoody Plus members not only get access to all of the contents of this site -- including Susan Bradley's frequently updated Patch Watch listing -- they also receive weekly AskWoody Plus Newsletters (formerly Windows Secrets Newsletter) and AskWoody Plus Alerts, emails when there are important breaking developments.
Get Plus!
Welcome to our unique respite from the madness.
It's easy to post questions about Windows 11, Windows 10, Win8.1, Win7, Surface, Office, or browse through our Forums. Post anonymously or register for greater privileges. Keep it civil, please: Decorous Lounge rules strictly enforced. Questions? Contact Customer Support.
Search Newsletters
Search Forums
View the Forum
Search for Topics
Recent Topics
-
Perplexity Pro free for 12 mos for Samsung Galaxy phones
by
Patricia Grace
11 hours, 32 minutes ago -
June KB5060842 update broke DHCP server service
by
Alex5723
10 hours, 4 minutes ago -
AMD Ryzen™ Chipset Driver Release Notes 7.06.02.123
by
Alex5723
14 hours, 6 minutes ago -
Excessive security alerts
by
WSSebastian42
9 hours, 47 minutes ago -
* CrystalDiskMark may shorten SSD/USB Memory life
by
Alex5723
23 hours, 35 minutes ago -
Ben’s excellent adventure with Linux
by
Ben Myers
59 minutes ago -
Seconds are back in Windows 10!
by
Susan Bradley
10 hours, 43 minutes ago -
WebBrowserPassView — Take inventory of your stored passwords
by
Deanna McElveen
20 hours, 38 minutes ago -
OS news from WWDC 2025
by
Will Fastie
1 day ago -
Need help with graphics…
by
WSBatBytes
1 hour, 53 minutes ago -
AMD : Out of Bounds (OOB) read vulnerability in TPM 2.0 CVE-2025-2884
by
Alex5723
1 day, 15 hours ago -
Totally remove or disable BitLocker
by
CWBillow
14 hours, 10 minutes ago -
Windows 10 gets 6 years of ESU?
by
n0ads
17 hours, 25 minutes ago -
Apple, Google stores still offer China-based VPNs, report says
by
Nibbled To Death By Ducks
2 days, 1 hour ago -
Search Forums only bring up my posts?
by
Deo
5 hours, 33 minutes ago -
Windows Spotlight broken on Enterprise and Pro for Workstations?
by
steeviebops
2 days, 13 hours ago -
Denmark wants to dump Microsoft for Linux + LibreOffice
by
Alex5723
2 days, 6 hours ago -
How to get Microsoft Defender to honor Group Policy Setting
by
Ralph
2 days, 14 hours ago -
Apple : Paragon’s iOS Mercenary Spyware Finds Journalists Target
by
Alex5723
3 days ago -
Music : The Rose Room – It’s Been A Long, Long Time album
by
Alex5723
3 days, 1 hour ago -
Disengage Bitlocker
by
CWBillow
2 days, 15 hours ago -
Mac Mini M2 Service Program for No Power Issue
by
Alex5723
3 days, 3 hours ago -
New Win 11 Pro Geekom Setup questions
by
Deo
5 hours, 27 minutes ago -
Windows 11 Insider Preview build 26200.5651 released to DEV
by
joep517
3 days, 10 hours ago -
Windows 11 Insider Preview build 26120.4441 (24H2) released to BETA
by
joep517
3 days, 10 hours ago -
iOS 26,, MacOS 26 : Create your own AI chatbot
by
Alex5723
3 days, 14 hours ago -
New PC transfer program recommendations?
by
DaveBoston
1 day, 19 hours ago -
Windows 11 Insider Preview Build 22631.5545 (23H2) released to Release Preview
by
joep517
3 days, 18 hours ago -
Windows 10 Build 19045.6029 (22H2) to Release Preview Channel
by
joep517
3 days, 18 hours ago -
Best tools for upgrading a Windows 10 to an 11
by
Susan Bradley
3 days, 6 hours ago
Recent blog posts
- Ben’s excellent adventure with Linux
- Seconds are back in Windows 10!
- WebBrowserPassView — Take inventory of your stored passwords
- OS news from WWDC 2025
- Best tools for upgrading a Windows 10 to an 11
- Master patch listing for June 10, 2025
- 24H2 may not be offered June updates
- June 2025 updates are out
Key Links
Want to Advertise in the free newsletter? How about a gift subscription in honor of a birthday? Send an email to sb@askwoody.com to ask how.
Mastodon profile for DefConPatch
Mastodon profile for AskWoody
Home • About • FAQ • Posts & Privacy • Forums • My Account
Register • Free Newsletter • Plus Membership • Gift Certificates • MS-DEFCON Alerts
Copyright ©2004-2025 by AskWoody Tech LLC. All Rights Reserved.