Results 1 to 14 of 14

Thread: Nag Screens

  1. #1

    Thread Starter
    Lively Member RichardKnox's Avatar
    Join Date
    Jul 2009
    Location
    Southern Michigan
    Posts
    89

    Nag Screens

    I have recently finished my first program and am wanting to know how to incorporate a "Nag" screen into this program to request from the user a donation towards future developments.

    I dont want to create crippleware, just the screen that pops-up at the start of the program if it is not registered.

    Thanks,

    Richard
    Thanks,
    Richard -
    --------
    -->Newbie Coder<<--
    Using VB.NET 2008/.NET 2.0/3.5

  2. #2
    Fanatic Member
    Join Date
    Aug 2009
    Posts
    540

    Re: Nag Screens

    You could create a setting in my settings that's changed only if the user is registered with you. If the setting = false, then display a splash screen/form/messagebox when your application starts.
    Where I'm from we only have one bit of advice for new comers: "If you hear banjos, turn and run".


    VS 2008 .NetFW 2.0

  3. #3

    Thread Starter
    Lively Member RichardKnox's Avatar
    Join Date
    Jul 2009
    Location
    Southern Michigan
    Posts
    89

    Re: Nag Screens

    So should the Nag Screen be the "Startup Form", determine if this is a registered product and proceed?

    Or should I have the "Startup Form" be my Main Menu, which queries upon loading whether this is a registered product or not?

    Thanks
    Thanks,
    Richard -
    --------
    -->Newbie Coder<<--
    Using VB.NET 2008/.NET 2.0/3.5

  4. #4
    PowerPoster techgnome's Avatar
    Join Date
    May 2002
    Posts
    34,687

    Re: Nag Screens

    Quote Originally Posted by RichardKnox View Post
    So should the Nag Screen be the "Startup Form", determine if this is a registered product and proceed? - no

    Or should I have the "Startup Form" be my Main Menu, which queries upon loading whether this is a registered product or not? - yes

    Thanks
    At least that's how I'd handle it.

    -tg
    * I don't respond to private (PM) requests for help. It's not conducive to the general learning of others.*
    * I also don't respond to friend requests. Save a few bits and don't bother. I'll just end up rejecting anyways.*
    * How to get EFFECTIVE help: The Hitchhiker's Guide to Getting Help at VBF - Removing eels from your hovercraft *
    * How to Use Parameters * Create Disconnected ADO Recordset Clones * Set your VB6 ActiveX Compatibility * Get rid of those pesky VB Line Numbers * I swear I saved my data, where'd it run off to??? *

  5. #5
    Discovering Life Siddharth Rout's Avatar
    Join Date
    Feb 2005
    Location
    Mumbai, India
    Posts
    12,001

    Re: Nag Screens

    @Richard: Would your program be be based on online registration or offline?
    A good exercise for the Heart is to bend down and help another up...
    Please Mark your Thread "Resolved", if the query is solved


    MyGear:
    ★ CPU ★ Ryzen 5 5800X
    ★ GPU ★ NVIDIA GeForce RTX 3080 TI Founder Edition
    ★ RAM ★ G. Skill Trident Z RGB 32GB 3600MHz
    ★ MB ★ ASUS TUF GAMING X570 (WI-FI) ATX Gaming
    ★ Storage ★ SSD SB-ROCKET-1TB + SEAGATE 2TB Barracuda IHD
    ★ Cooling ★ NOCTUA NH-D15 CHROMAX BLACK 140mm + 10 of Noctua NF-F12 PWM
    ★ PSU ★ ANTEC HCG-1000-EXTREME 1000 Watt 80 Plus Gold Fully Modular PSU
    ★ Case ★ LIAN LI PC-O11 DYNAMIC XL ROG (BLACK) (G99.O11DXL-X)
    ★ Monitor ★ LG Ultragear 27" 240Hz Gaming Monitor
    ★ Keyboard ★ TVS Electronics Gold Keyboard
    ★ Mouse ★ Logitech G502 Hero

  6. #6

    Thread Starter
    Lively Member RichardKnox's Avatar
    Join Date
    Jul 2009
    Location
    Southern Michigan
    Posts
    89

    Re: Nag Screens

    I have added a Splash Screen to my app, so that it comes up just prior to the Nag screen and I was adjusting the wait time with this statement in the ApplicationEvents.vb

    Protected Overrides Function OnInitialize( _
    ByVal commandLineArgs As _
    System.Collections.ObjectModel.ReadOnlyCollection(Of String) _
    ) As Boolean
    ' Set the display time to 5000 milliseconds (5 seconds).
    Me.MinimumSplashScreenDisplayTime = 5000
    Return MyBase.OnInitialize(commandLineArgs)
    End Function

    But, I keep getting an error message.

    Statement is not valid in a namespace.

    Not sure whats going wrong.
    Last edited by RichardKnox; Oct 28th, 2009 at 02:09 PM.
    Thanks,
    Richard -
    --------
    -->Newbie Coder<<--
    Using VB.NET 2008/.NET 2.0/3.5

  7. #7

    Thread Starter
    Lively Member RichardKnox's Avatar
    Join Date
    Jul 2009
    Location
    Southern Michigan
    Posts
    89

    Re: Nag Screens

    Quote Originally Posted by koolsid View Post
    @Richard: Would your program be be based on online registration or offline?

    Offline. I would allow the user a 15 day trial, then a Nag screen would appear afterwards appealing to their compassionate nature to donate.

    I would then have then give me info and then provide them with a unique key.
    Thanks,
    Richard -
    --------
    -->Newbie Coder<<--
    Using VB.NET 2008/.NET 2.0/3.5

  8. #8
    Discovering Life Siddharth Rout's Avatar
    Join Date
    Feb 2005
    Location
    Mumbai, India
    Posts
    12,001

    Re: Nag Screens

    [Off Topic]

    How are you checking for whether your program is registered or not? Nag screens can be easily hacked so that they are not displayed any more....

    [/Off Topic]
    A good exercise for the Heart is to bend down and help another up...
    Please Mark your Thread "Resolved", if the query is solved


    MyGear:
    ★ CPU ★ Ryzen 5 5800X
    ★ GPU ★ NVIDIA GeForce RTX 3080 TI Founder Edition
    ★ RAM ★ G. Skill Trident Z RGB 32GB 3600MHz
    ★ MB ★ ASUS TUF GAMING X570 (WI-FI) ATX Gaming
    ★ Storage ★ SSD SB-ROCKET-1TB + SEAGATE 2TB Barracuda IHD
    ★ Cooling ★ NOCTUA NH-D15 CHROMAX BLACK 140mm + 10 of Noctua NF-F12 PWM
    ★ PSU ★ ANTEC HCG-1000-EXTREME 1000 Watt 80 Plus Gold Fully Modular PSU
    ★ Case ★ LIAN LI PC-O11 DYNAMIC XL ROG (BLACK) (G99.O11DXL-X)
    ★ Monitor ★ LG Ultragear 27" 240Hz Gaming Monitor
    ★ Keyboard ★ TVS Electronics Gold Keyboard
    ★ Mouse ★ Logitech G502 Hero

  9. #9

    Thread Starter
    Lively Member RichardKnox's Avatar
    Join Date
    Jul 2009
    Location
    Southern Michigan
    Posts
    89

    Re: Nag Screens

    Quote Originally Posted by koolsid View Post
    [Off Topic]

    How are you checking for whether your program is registered or not? Nag screens can be easily hacked so that they are not displayed any more....

    [/Off Topic]

    Haven't gotten that far. I have a database within my program that is password protected, so maybe once they input the correct information and serial number, I will locate it within there and use that to check.
    Thanks,
    Richard -
    --------
    -->Newbie Coder<<--
    Using VB.NET 2008/.NET 2.0/3.5

  10. #10
    PowerPoster stanav's Avatar
    Join Date
    Jul 2006
    Location
    Providence, RI - USA
    Posts
    9,290

    Re: Nag Screens

    If you have a DB, you could store the 1st run date in it and use that to determine whether or not to display the nag screen on later application launches. I'd have a simple table with 2 columns: firstrun (date), registered (boolean). When your application start, query the DB for any records in this table. If there is none, you know this is the 1st run, and you would insert a record to that table using the current date, and set registered to false. If there is a record returned (should never have more than 1 record returned), you test the registered field and if it's false, you subtract the current dateby the firstrun date to the current date to see if the elapsed time has exceeded your trial time and show your nag screen accordingly. When your user register the software, you set the registered field to true so that the nag screen will not be shown again.
    Let us have faith that right makes might, and in that faith, let us, to the end, dare to do our duty as we understand it.
    - Abraham Lincoln -

  11. #11
    Addicted Member Smartacus's Avatar
    Join Date
    Oct 2009
    Location
    Deep South, USA
    Posts
    196

    Re: Nag Screens

    I would use the registry for storing the GUID and determining if the App is registered. Harder to hack.
    ***************************************************
    Smartacus comes packaged "As Is With No Warranty"

    ************* Useful Links ******************
    FAQs: Index / Database Development / .NET CodeBank /
    Before Posting Here...MSDN

    MZTools (I love this tool when using VB6 - Free) /

  12. #12
    Addicted Member Smartacus's Avatar
    Join Date
    Oct 2009
    Location
    Deep South, USA
    Posts
    196

    Re: Nag Screens

    Do your countdown from there also
    ***************************************************
    Smartacus comes packaged "As Is With No Warranty"

    ************* Useful Links ******************
    FAQs: Index / Database Development / .NET CodeBank /
    Before Posting Here...MSDN

    MZTools (I love this tool when using VB6 - Free) /

  13. #13
    Addicted Member
    Join Date
    Oct 2009
    Posts
    212

    Re: Nag Screens

    Also off topic, dont use a boolean for Isregistered, thats bad practice. Then again pretty much anything can be reversed engineered and disabled/enabled. You might have better luck with a donate button on your main form that stares them in the face... Good Luck =)
    Have you tried Google?

  14. #14

    Thread Starter
    Lively Member RichardKnox's Avatar
    Join Date
    Jul 2009
    Location
    Southern Michigan
    Posts
    89

    Re: Nag Screens

    I plan on using the database method for keeping track of the first run date, but any suggestions on how I should set this up in the database?? My database keeps track of both date & time, Im just worried about the date, I dont want the time to be come an issue in this method, or something I need to also be worried about in my coding.
    Thanks,
    Richard -
    --------
    -->Newbie Coder<<--
    Using VB.NET 2008/.NET 2.0/3.5

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width