• 0

C# Screen saver?


Question

Recommended Posts

  • 0

Yeah, your right, i cant get the name, but i checked and windows cant either, i get "Flying_Windows" in the display control panel list

It is because the screen saver has been made wrong, instead of the name of the screensaver being resource 1, it's resource 100

So, i recommend putting in some fail safe code, e.g. check for the name of the screensaver, if the string returned is nothing, then display the name of the screensaver as the file name with the extension cut off

  • 0
Ok, im done, i have code that can set and retrieve the time-out, i was going to post it earlier, but my browser crashed and i decided to change some stuff.

Declarations:

? ?<DllImport("user32", CharSet:=CharSet.Auto)> _
 ? ?Private Shared Function SystemParametersInfo(ByVal uAction As Integer, ByVal uParam As Integer, ByRef lpvParam As Integer, ByVal fuWinIni As Integer) As Integer
 ? ?End Function

 ? ?Private Const SPI_GETSCREENSAVETIMEOUT = 14
 ? ?Private Const SPI_SETSCREENSAVETIMEOUT = 15
 ? ?Private Const SPIF_UPDATEINIFILE = &H1
 ? ?Private Const SPIF_SENDWININICHANGE = &H2

Code:

? ?Public Function GetScreenSaverTimeOut() As Integer
 ? ? ? ?Dim lRet As Integer
 ? ? ? ?Dim lSeconds As Integer

 ? ? ? ?lRet = SystemParametersInfo(SPI_GETSCREENSAVETIMEOUT, 0, lSeconds, 0)
 ? ? ? ?If lRet > 0 Then
 ? ? ? ? ? ?GetScreenSaverTimeOut = lSeconds / 60
 ? ? ? ?Else
 ? ? ? ? ? ?GetScreenSaverTimeOut = -1
 ? ? ? ?End If
 ? ?End Function

 ? ?Public Function SetScreenSaverTimeOut(ByVal NewValueInMinutes As Integer) As Boolean
 ? ? ? ?Dim lRet As Integer
 ? ? ? ?Dim lSeconds As Integer
 ? ? ? ?lSeconds = NewValueInMinutes * 60
 ? ? ? ?lRet = SystemParametersInfo(SPI_SETSCREENSAVETIMEOUT, lSeconds, Nothing, SPIF_UPDATEINIFILE + SPIF_SENDWININICHANGE)
 ? ? ? ?SetScreenSaverTimeOut = lRet <> 0
 ? ?End Function

It's pretty much self explanatory.

Also, yyy, if you want to see the similarities between vb.net and c#, i recommend you get a copy of .NET Reflector, it's a fully working Disassembler and De-compiler for .net, it allows you to choose from multiple languages, e.g. De-compile a vb app into c#, or vice-versa, it's really good.

Also 2, since you and weenur have been so good, and since im feeling generous, pm me if you:Dant a gmail account (I'm feeling generous because i got 6 invites today :D )

Edit: I'll need your names and e-mail address's to send the invites.

Can you convert it to c# ? I can't convert it. I get a lot of error messages.

  • 0

Almost all. I tried this:

[DllImport("user32", CharSet=CharSet.Auto)]
 ?private static int SystemParametersInfo(int uAction, int uParam, ref int lpvParam, int fuWinIni)
 ?{
 ?}
private const void SPI_GETSCREENSAVETIMEOUT = 14;
 ?private const void SPI_SETSCREENSAVETIMEOUT = 15;
 ?private const void SPIF_UPDATEINIFILE = 1;
 ?private const void SPIF_SENDWININICHANGE = 2;

int lRet;
 ?	int lSeconds;
 ?	lSeconds = NewValueInMinutes * 60;
 ?	lRet = SystemParametersInfo(SPI_SETSCREENSAVETIMEOUT, lSeconds, null, SPIF_UPDATEINIFILE + SPIF_SENDWININICHANGE);
 ?	SetScreenSaverTimeOut = lRet != 0;

But it tells me that there's a poblem with the void. So I replaced it with int. Then it says that this : [DllImport("user32", CharSet=CharSet.Auto)] line is wrong and many others. I just don't know how to write it in c#.

PS - it is sad to know that you won't be here for a l:(g time :(

  • 0

Yeah, I'm sad about that to (damn financial situation (and family problems) i can afford broadband, but i get told i cant afford it, so im stuck on pre-paid dial-up)

Also, since i don't know much about c#, i realised i cant help you with that, your probably going to have to wait until weenur comes back and reads the thread (looks like i cant help you with much more now)

So, ill be back in about 2 or 3 weeks (maybe more :angry: )

  • 0

:no: :no: :no: It isn't what I ment:

The information in this article applies to:

Microsoft Windows 2000 Server

Microsoft Windows 2000 Advanced Server

Microsoft Windows 2000 Professional

Microsoft Windows 2000 Datacenter Server

That page relates to non Winodws XP versions. These versions doesn't even have the Welcome Screen. I did it once and it worked. I think I just need to use an API but how? I believe that runnung a screen saver using an API will do it.

  • 0

And one more thing - can I lauch a screensaver's settings menu with Process.Start() ? How? I tried Process.Start("c:\window\system32\ss3d.scr" + "/c") but it just showed it in full mode :( Can I make it with process? I want my program to do something when the process exites so that's why I'm asking.

  • 0
And one more thing - can I lauch a screensaver's settings menu with Process.Start() ? How? I tried Process.Start("c:\window\system32\ss3d.scr" + "/c") but it just showed it in full mode :( Can I make it with process? I want my program to do something when the process exites so that's why I'm asking.

I found out how to do it :laugh: Now - Does somebody know how to activate a screensaver using an API? In c#?

  • 0
Oh my Muh!!

I am wrong in the begining..

it looks as I had better study English hard

you can use this

PostMessage(WM_SYSCOMMAND,SC_SCREENSAVE,0);

to act current ScreenSaver

I think you want to get current Screen picture at the begining.

faint~

this is the code;

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Int32, ByVal wMsg As Int32, ByVal wParam As Int32, ByVal lParam As Int32) As Int32
 ? ?Private Const HWND_BROADCAST = &HFFFF&
 ? ?Private Const WM_SYSCOMMAND = &H112
 ? ?Private Const SC_SCREENSAVE = &HF140&

 ? ?Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 ? ? ? ?SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_SCREENSAVE, 0)
 ? ?End Sub

I use VB more  than C#.

So this code is in VB style.


T:laugh:korls :laugh:

  • 0

congrats on getting it working, it looks like a cool tile, and although you weren't going to do it on longhorn, it think it would work very well (and be popular)

Also, thanks for putting my name in your program, i think that is one of the first programs with my name in it (other than my own)

  • 0
congrats on getting it working, it looks like a cool tile, and although you weren't going to do it on longhorn, it think it would work very well (and be popular)

Also, thanks for putting my name in your program, i think that is one of the first programs with my name in it (other than my own)

Hi The_Decryptor :laugh: :happy: I missed you :D As you can see I didn't get much help without you :laugh: But I managed to find out the solutions myself. So far I got around 500 downloads but I hopee that after releasing the 2nd version of it I'll get more.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Marshall Major V Bluetooth headphones are now up to 47% off on Amazon by Ivan Jenic The Marshall Major V in Midnight Blue is currently $89.99 on Amazon, down from $169.99. That's 47% off and $80 saved on a pair of wireless on-ear headphones from one of the most recognizable names in audio. The Major V is Marshall's take on a long-lasting everyday headphone. The headphones deliver 100+ hours of wireless playtime, which puts them in a completely different category from most Bluetooth headphones that hover around 30-40 hours. You’re charging this thing once a week at most, and with wireless charging supported, you don’t have to worry about additional cables. Marshall promises its signature sound profile, with strong bass, smooth mids, and clear highs. There’s a customizable M-button, which you can set to quickly access Spotify Tap, your EQ settings, or a voice assistant. The design is foldable and lightweight at 186 grams, so it’s easy to pack for travel. And finally, the faux leather finish gives the Major V a sleek, premium look. At $89.99, the Major V Midnight Blue is a genuinely strong buy for anyone who wants a reliable daily headphone without paying premium prices. It’s also worth mentioning that the Cream and Brown variants are also discounted to $89.99, though from a lower original price of $99.99. Marshall Major V Midnight Blue - $89.99 | 47% off on Amazon This Amazon deal is US-specific and not available in other regions unless specified. This is a first-party seller link (at the time of article publishing); ensure that you also purchase from a first-party seller link only. If you don't like it or want to look at more options, check out the previous deals that we have covered, OR you can also visit Amazon US deals page. Get Prime (SNAP), Prime Video, Audible Plus or Kindle / Music Unlimited. Free for 30 days. As an Amazon Associate, we earn from qualifying purchases.
    • +1 on XVI. I still use it. 
    • Age 16, old enough to get a full-time job, your own bank account, a passport, get married, even join the military and go to war. But talking to your friends on the internet? Oh hell no!
    • I remember when all games had demos; it was a normal thing, not a limited time promotion.
  • Recent Achievements

    • Reacting Well
      Almohandis earned a badge
      Reacting Well
    • First Post
      Cosminus earned a badge
      First Post
    • One Year In
      ThatGuyOnline earned a badge
      One Year In
    • Week One Done
      Jeroen Wilms earned a badge
      Week One Done
    • Week One Done
      rolfus earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      483
    2. 2
      +Edouard
      185
    3. 3
      PsYcHoKiLLa
      122
    4. 4
      Steven P.
      84
    5. 5
      neufuse
      73
  • Tell a friend

    Love Neowin? Tell a friend!