pomoc s programom na menenie pozadia

Programovacie jazyky, rady, poradňa...
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8224
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

pomoc s programom na menenie pozadia

Príspevok od používateľa harrison314 »

chcem si v C# spravit program, ktory po kazdom zapnuti PC zmeni pozadie na jeden z vybranych obrazkou.
A mam s tym dost zakladny problem , ako mam zmenit pozadie bud pomocou nejakeho suboru alebo CMD prikazu ?

A nevie niekto ako sa robia sockety v C# ?
bart11
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 91
Registrovaný: 13 okt 2006, 20:11
Kontaktovať používateľa:

Príspevok od používateľa bart11 »

zmena pozadia:
http://social.msdn.microsoft.com/Forums ... 405d666849 (inak toto som neskusal, len som vyhladal... Ale pisu tam, ze to pofici len na *.bmp)
(GUGL!!!): change wallpaper desktop c#
Sockety:
Na sockety pouzi menny priestor (namespace) System.Net.Sockets
Pre aplikaciu klient-server mozes pouzit aj TcpClient, a TcpListener (System.Net).
Takze, zaverecna otazka znie: Co konkretne ohladom socketov potrebujes?
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8224
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Príspevok od používateľa harrison314 »

konkretne sa zaujimam o normalnu asinchronnu komunikaciu, klasicke sokety .
A chcel by som nieco ako v PHP cURL


A uvedeny priklad nefunguje
nitr0
Medium Expert
Medium Expert
Príspevky: 123
Registrovaný: 08 sep 2007, 21:17
Bydlisko: BA

Príspevok od používateľa nitr0 »

bart11
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 91
Registrovaný: 13 okt 2006, 20:11
Kontaktovať používateľa:

Príspevok od používateľa bart11 »

harrison314 napísal:...
A uvedeny priklad nefunguje
Neviem čo robíš, ale mne to funguje (win xp).
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8224
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Príspevok od používateľa harrison314 »

mne robi problem nacitanie externej DLL kniznice

Kód: Vybrať všetko

[DllImport("user32.dll", CharSet = CharSet.Auto)]
vzdy mi tam vyhodi chybu ,
pouzivam Microsoft Visual C# 2008
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

a akú chybu?
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8224
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Príspevok od používateľa harrison314 »

Kód: Vybrať všetko

Error	1	The type or namespace name 'DllImportAttribute' could not be found (are you missing a using directive or an assembly reference?)	C:\Documents and Settings\Admin\Local Settings\Application Data\Temporary Projects\ConsoleApplication1\Program.cs	14	10	ConsoleApplication1
a

Kód: Vybrať všetko

Error	2	The type or namespace name 'DllImport' could not be found (are you missing a using directive or an assembly reference?)	C:\Documents and Settings\Admin\Local Settings\Application Data\Temporary Projects\ConsoleApplication1\Program.cs	14	10	ConsoleApplication1
[/code]
bart11
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 91
Registrovaný: 13 okt 2006, 20:11
Kontaktovať používateľa:

Príspevok od používateľa bart11 »

Ách...

Kód: Vybrať všetko

using System.Runtime.InteropServices;
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8224
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Príspevok od používateľa harrison314 »

diky za pomoc,
potom tu zverejnim celi program

//autoeditácia príspevku ( 09 Jun 2009, 11:12 )
tu je uz hotovy program:

Kód: Vybrať všetko

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
using System.Runtime.InteropServices;

namespace ChDW
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        /// 

        public static string save_p = "Data.dat";
        public const string save_w = "temp\\Walperr.bmp";

        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            string self = Directory.GetCurrentDirectory();

            string[] wal = Directory.GetFiles("Pozadia");
            if (wal.Length == 0) return;
            Random ram = new Random();
            int cis;
            do
            {
                ram.Next(wal.Length + 2);
                 cis = ram.Next(wal.Length * 3 + ram.Next(13));

                // v cis je index suboru
                cis %= wal.Length;
            } while (minule() == wal[cis]);
            // konverzia na bitmap 

            Image bmp = Image.FromFile(wal[cis]);
            bmp.Save(save_w, ImageFormat.Bmp);
            nove(wal[cis]);
            SetImage(self+"\\"+save_w);
            
            
            
            
            
            // toto zobrazy okno
            //Application.Run(new Form1());
            
        }

        [DllImport("user32.dll", CharSet = CharSet.Auto)]
        private static extern Int32 SystemParametersInfo(UInt32 uiAction, UInt32 uiParam, String pvParam, UInt32 fWinIni);
        private static UInt32 SPI_SETDESKWALLPAPER = 20;
        private static UInt32 SPIF_UPDATEINIFILE = 0x1;
        
        //nastavy pozadie
        public static void SetImage(string filename)
        {
            SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, filename, SPIF_UPDATEINIFILE);
        }
        // vrati minule pozadie
        
        public static string minule()
        {
            if (!File.Exists(save_p)) return null;
            FileStream fs = new FileStream(save_p, FileMode.Open);
            BinaryReader f = new BinaryReader(fs);
            string ret = f.ReadString();
            f.Close();
            fs.Close();
            return ret;

       }
        public static void nove(string meno)
        {
            FileStream fs = new FileStream(save_p, FileMode.Create);
            BinaryWriter f = new BinaryWriter(fs);
            f.Write(meno);
            f.Close();
            fs.Close();
        }
    }
}

Napísať odpoveď