जावा में:
import java.util.*;
public class changer
{
public static native int SystemParametersInfo(int uiAction,int uiParam,String pvParam,int fWinIni);
static
{
System.loadLibrary("user32");
}
public int Change(String path)
{
return SystemParametersInfo(20, 0, path, 0);
}
public static void main(String args[])
{
String wallpaper_file = "c:\\wallpaper.jpg";
changer mychanger = new changer();
mychanger.Change(wallpaper_file);
}
}
Win32 सी ++ में, आप SetTimer
का उपयोग एक परिवर्तन को गति प्रदान कर सकते हैं।
#define STRICT 1
#include <windows.h>
#include <iostream.h>
VOID CALLBACK TimerProc(HWND hWnd, UINT nMsg, UINT nIDEvent, DWORD dwTime)
{
LPWSTR wallpaper_file = L"C:\\Wallpapers\\wallpaper.png";
int return_value = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, wallpaper_file, SPIF_UPDATEINIFILE);
cout << "Programmatically change the desktop wallpaper periodically: " << dwTime << '\n';
cout.flush();
}
int main(int argc, char *argv[], char *envp[])
{
int Counter=0;
MSG Msg;
UINT TimerId = SetTimer(NULL, 0, 2000, &TimerProc); //2000 milliseconds
cout << "TimerId: " << TimerId << '\n';
if (!TimerId)
return 16;
while (GetMessage(&Msg, NULL, 0, 0))
{
++Counter;
if (Msg.message == WM_TIMER)
cout << "Counter: " << Counter << "; timer message\n";
else
cout << "Counter: " << Counter << "; message: " << Msg.message << '\n';
DispatchMessage(&Msg);
}
KillTimer(NULL, TimerId);
return 0;
}
स्रोत
2012-08-31 09:17:08
इस परियोजना के लिए आपकी सावधानी बरतने का क्या परिणाम है? आपके वर्तमान सक्रिय जांच से आपको क्या पता चला है? –
आप निश्चित रूप से जावा में जेएनआई कॉल के बिना ऐसा करने में सक्षम नहीं होंगे, लेकिन सी ++ शायद – axl
मैंने भाषाओं की विस्तृत श्रृंखला का उपयोग करके इसी तरह की परियोजनाओं के लिए बहुत सारे समाधान देखे हैं। मैंने SystemParametersInfo में देखा है और ऐसा लगता है कि इसे शामिल किया जाना है। मैंने सिस्टम घड़ी या जीयूआई के उपयोग के संबंध में कुछ भी नहीं देखा है। –