Hola, estaba haciendo un programa en VB.Net 2008 Lenguaje C#; el cual corre tanto en WIN7 como en WINXP, cuando lo ejecuto en WIN7 estando ejecutando cambio de session o kiero reiniciar y normal reinico o cambio de session, pero en WINXP cuando esta ejecutando el programa no me deja reinicar ni cambiar de session, tengo que cerrar el programa en este caso llamado "AltertUSB", y recien puedo reiniciar o cambiar session, solo esto me pasa en WINXP, para que vean aca les dejo el codigo.
Código ASP:
Ver originalusing System.Security.Principal;
using System.Text;
using DevExpress.LookAndFeel;
using System.Windows.Forms;
using DevExpress.XtraEditors;
namespace AlerUSB_Presentacion
{
public partial class AlertaUSB : DevExpress.XtraEditors.XtraForm
{
DefaultLookAndFeel defaultSkin = new DefaultLookAndFeel();
WindowsIdentity identidad = WindowsIdentity.GetCurrent();
public static int GlbMen=0;
int Intervalo = 20;//Por defecto 20
int Tiempo; int Reloj = Convert.ToInt32(DateTime.Now.ToString("ss"));
int ValMen = 0;
int Ros;
public AlertaUSB()
{
InitializeComponent();
}
private void AlertaUSB_Load(object sender, EventArgs e)
{
defaultSkin.LookAndFeel.SkinName = "Black";
FechaActual.EditValue = DateTime.Today;
txtHora1.EditValue = DateTime.Now.ToString("hh:mm:ss");
string IDdeUsuario = identidad.Name;
groupControl2.Text = "Datos del Sistema Usuario: " + IDdeUsuario;
}
private void timer1_Tick(object sender, EventArgs e)
{
Ros++; if(Ros==1){ this.WindowState = FormWindowState.Minimized;}
Reloj = Convert.ToInt32(DateTime.Now.ToString("ss"));
if(Reloj == 0){
Tiempo++; }
if (Tiempo == Intervalo) {
GlbMen = 1;
Tiempo = 0;
if (ValMen == 0) {
ValMen = 1;
Frm_VEmergente ObjVE = new Frm_VEmergente(1, "Alumnos", " Por favor no olvide sus USB. CEPS UNI no se responsabiliza por la perdida u robo .Atentamente. Soporte Tecnico", 1);
ObjVE.ShowDialog(this);}
}
FechaActual.EditValue = DateTime.Today;
txtHora1.EditValue = DateTime.Now.ToString("hh:mm:ss");
}
private void AlertaUSB_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
this.WindowState = FormWindowState.Minimized;
}
private void BtnSi_Click(object sender, EventArgs e)
{
try
{
if (Convert.ToInt32(txtTiempo.Text) < 60 & Convert.ToInt32(txtTiempo.Text) != 0)
{
txtTiempo.ErrorText = "";
txtTiempo.Properties.Appearance.BackColor = System.Drawing.Color.White;
Intervalo = Convert.ToInt32(txtTiempo.Text); Tiempo = 0;
LblError.Text = "Actualizado";
LblError.Visible = true;
}
else
{
LblError.Text = "Ingrese Intervalo Valido";
txtTiempo.ErrorText = " Ingrese un intervalo del 1 al 59 ";
txtTiempo.Properties.Appearance.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
txtTiempo.Text = ""; txtTiempo.Focus();
Intervalo = 20;
}
}
catch (Exception ex)
{
txtTiempo.Text = "20";
}}
private void notifyIcon1_DoubleClick(object sender, EventArgs e)
{
//Hacemos visible el formulario
this.Show();
this.WindowState = FormWindowState.Normal;
//Ocultamos el icono de la bandeja de sistema
notifyIcon1.Visible = false;
txtTiempo.Focus();
}
private void AlertaUSB_Resize(object sender, EventArgs e)
{
//Si el estado actual de la ventana es "minimizado"...
if (this.WindowState == FormWindowState.Minimized)
{
//Ocultamos el formulario
this.Visible = false;
//Hacemos visible el icono de la bandeja del sistema
notifyIcon1.Visible = true;
}
LblError.Visible = false;
}
private void AlertaUSB_KeyDown(object sender, KeyEventArgs e)
{
if (Convert.ToInt32(e.KeyData) == Convert.ToInt32(Keys.Alt) + Convert.ToInt32(Keys.F12))
{
Dispose();
}
}
private void salirToolStripMenuItem_Click(object sender, EventArgs e)
{
Dispose();
}
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
{
DevExpress.Utils.About.frmAbout dlg = new DevExpress.Utils.About.frmAbout(" Creado por los Soportes del CEPS UNI el día 06/06/2011 ");
dlg.ShowDialog();
}
}
}
nota: El codigo es C#, pero como no hay la etiqueta de C#, el mas cercano es ASP.
El formulario.

NOTA: ai estan los nombres de los controles
***Solo les pongo eso para que se guien, si ai encuentran el problema por que no me deja reiniciar o cambiar de session en WINXP.
Las propiedades del Windons.

NOTA: Tmb les dejo de repente tmb es una propiedad que movi sin darme cuenta.
Por ultimo los otros componentes q uso.

Tal vez sean esos componentes q me ocasionan el problema.
**Al ejecutar el programa se minimiza en la barra que esta en la parte inferior derecha del escritorio como si estaria en segundo plato, gracias al notifyIcon, bueno eso es todo, aver si me ayudan solo pasa en WINXP
WIN7 = Windons 7
WINXP = Windons XP