PDA

View Full Version : سوال: مشکل با startup



reza_stb2002
دوشنبه 16 آذر 1388, 11:19 صبح
سلام
یه برنامه تغییر والپیپر نوشتم .برنامه رو به استارت آپ اضافه کردم .در در هنگام باز شدن برنامه باید تصویر رو عوض کنه این کار رو وقتی دستی برنامه رو اجرا میکنم درست انجام میده اما وقتی در استارت آپ باز میشه والپیپر عوض نمیشه وآبی میشه

miadpouyanfar
سه شنبه 17 آذر 1388, 08:56 صبح
لطفاً برنامه اصلی ات رو بذار شاید بتونیم کمک کنیم!

reza_stb2002
سه شنبه 17 آذر 1388, 23:05 عصر
اینم کل برنامه

[DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni);

int i = 1;

private void tck(object sender, EventArgs e)
{

if (date != DateTime.Today.Day)
{
date = DateTime.Today.Day;
key.SetValue("Date", DateTime.Today.Day);
SystemParametersInfo(20, 0, Directory.GetCurrentDirectory().ToString() + @"\aks\" + i.ToString() + ".bmp", 0x01 | 0x02);

i++;
if (i == 7)
i = 1;
key.SetValue("Counter", i);
}


if (string.Compare(key2.GetValue("Wallpaper").ToString(), 0, Directory.GetCurrentDirectory().ToString(), 0, Directory.GetCurrentDirectory().ToString().Length - 1) != 0)
{
Application.Exit();
System.IO.File.Delete(Environment.GetFolderPath(En vironment.SpecialFolder.Startup).ToString() + "\\Ghasemioon.lnk");
}


}


int date = 0;

RegistryKey key2 = Registry.CurrentUser.OpenSubKey(@"Control Panel\Desktop", true);
RegistryKey key = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\GHASEMIOON\");
WshShellClass WshShell;
private void Form1_Load(object sender, EventArgs e)
{
notifyIcon2.Icon = SystemIcons.Information;
notifyIcon2.Text = "Ghasemioon";
notifyIcon2.Visible = true;
Visible = false;
ShowInTaskbar = false;
// Create a new instance of WshShellClass
WshShell = new WshShellClass();

// Create the shortcut
IWshRuntimeLibrary.IWshShortcut MyShortcut;

// Choose the path for the shortcut
MyShortcut = (IWshRuntimeLibrary.IWshShortcut)WshShell.CreateSh ortcut(Environment.GetFolderPath(Environment.Speci alFolder.Startup).ToString() + "\\Ghasemioon.lnk");

// Where the shortcut should point to
MyShortcut.TargetPath = Application.ExecutablePath;

// Description for the shortcut
MyShortcut.Description = "Ghasemioon";

// Location for the shortcut's icon
//MyShortcut.IconLocation = Application.StartupPath + @"\App.ico";

// Create the shortcut at the given path
MyShortcut.Save();

try
{

date = (int)key.GetValue("Date");
i = (int)key.GetValue("Counter");
}
catch (NullReferenceException)
{
//key2.SetValue("GHASEMIOON", Application.ExecutablePath.ToString());
key.SetValue("Date", DateTime.Today.Day);
key.SetValue("Counter", 1);


}
finally
{

date = (int)key.GetValue("Date");
i = (int)key.GetValue("Counter");
}
SystemParametersInfo(20, 0, Directory.GetCurrentDirectory().ToString() + @"\aks\" + (i == 1 ? i.ToString() : (i - 1).ToString()) + ".bmp", 0x01 | 0x02);
if (i == 1)
{
i++;
key.SetValue("Counter", i);
}
}




protected void OnExit(object sender, EventArgs e)
{
Application.Exit();

}

private void click(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
contextMenu1.Show(panel1, new Point(MousePosition.X, MousePosition.Y - 30));
}
این برنامه تغییر روز رو تشخیص داده و والپیپر رو عوض میکنه

reza_stb2002
چهارشنبه 18 آذر 1388, 14:02 عصر
لطفا یه نفر راهنمایی کنه بد جوری گیر کردم:افسرده:

reza_stb2002
چهارشنبه 18 آذر 1388, 21:43 عصر
لطفا یه سایتی ، چیزی معرفی کنید که من پیگیری کنم:گریه:

reza_stb2002
چهارشنبه 18 آذر 1388, 23:40 عصر
من متوجه یه چیزی شدم
وقتی دستی یک شورت کات تو استارت آپ میسازم برنامه کار میکنه اما وقتی خود برنامه شورت کات میسازه دیگه کار نمی کنه !!!! :متفکر:
دیگه اینکه شورت کاتی که برنامه میسازه حدود 1.03kB هست اما اونی که دستی میسازم وکار میکنه 1.22kB هست !! :متفکر:

کسی نمیدونه این چه دلیلی داره ؟؟ :عصبانی++:

reza_stb2002
پنج شنبه 03 دی 1388, 15:50 عصر
اقا من هنوز دنبال جواب هست اگه میدونید راهنمایی کنید

slashslash2009
پنج شنبه 03 دی 1388, 16:21 عصر
شما آیا با رجیستری برنامتونو در startup اجرا کردین یا با کپی کردن فایل اجرایی در پوشه startup
فکر کنم برنامتون قبل از بالا اومدن کامل ویندوز اجرا میشه یا یه چیزی تو این مایه ها اگر برنامتون به صورت دستی کار میکنه احتمالا مشکل از یه جای دیگه آب میخوره:متعجب: