Hola muchas gracias otra vez por la gran ayuda que me estas prestando, verás te cuento: El programa en cuestión tiene una pantalla con un numero de seriede de 10 digitos y debajo el nombre del programa que yo he sustituido por xxxxx y al lado 8 casillas diferentes para introducir unos numeros en cada una, debajo un modulo que yo he puesto x1x1x1x con otras 8 casillas y debajo otro modulo x2x2x2x con otras 8 y un pequeño cuadradito que hay que marcar si no se tiene pastilla . Mas abajo un boton que comprueba los numeros que hemos introducido que se supone que van en funcion del numero de serie que aparece, pues bien esto es lo que hace cuando damos a dicho botón:
private void ProbarProteccion_Click(object sender, EventArgs e) { short num; short num2; short num3; short num4; short num5; short num6; short num7; short num8; string title = "Comprobando la protecci\x00f3n contra copia de xxxxxx."; Hardlock hardlock = new Hardlock(); bool flag = false; string prompt = ""; try { this.CodigoInterno.Text = Conversions.ToString(hardlock.CodigoInternal()); num = Conversions.ToShort(this.Clave_1.Text); num2 = Conversions.ToShort(this.Clave_2.Text); num3 = Conversions.ToShort(this.Clave_3.Text); num4 = Conversions.ToShort(this.Clave_4.Text); num5 = Conversions.ToShort(this.Clave_5.Text); num6 = Conversions.ToShort(this.Clave_6.Text); num7 = Conversions.ToShort(this.Clave_7.Text); num8 = Conversions.ToShort(this.Clave_8.Text); } catch (Exception exception1) { ProjectData.SetProjectError(exception1); Exception exception = exception1; if (exception.Message.Contains("La conversi\x00f3n")) { Interaction.MsgBox("Debe introducir n\x00famero entero en cada casilla. Por favor, revise los c\x00f3digos introducidos en las casillas de xxxxxx.", MsgBoxStyle.Critical, title); } ProjectData.ClearProjectError(); return; } if (this.Sin_Pastilla.Checked) { try { if (!hardlock.isCodigoInternal(num, num2, num3, num4, num5, num6, num7, num8)) { Interaction.MsgBox(hardlock.GetError(), MsgBoxStyle.OkOnly, null); Interaction.MsgBox("Los c\x00f3digos introducidos no coinciden con el n\x00famero de serie del programa.", MsgBoxStyle.Critical, title); } else { flag = true; } goto Label_0256; } catch (Exception exception6) { ProjectData.SetProjectError(exception6); Exception exception2 = exception6; Interaction.MsgBox("Se ha producido un error al intentar detectar la protecci\x00f3n s\x00edn pastilla del programa xxxxxx.\rEl error ha sido: " + exception2.Message, MsgBoxStyle.Critical, title); ProjectData.ClearProjectError(); return; } } if (!hardlock.isDriverInstalled()) { Interaction.MsgBox("Los drivers que gestionan la protecci\x00f3n contra copia no estan correctamente instalados.\rPor favor, instale estos drivers ejecutando un archivo llamado [Proteccion.BAT] que encontrar\x00e1 en el CD-ROM o DVD-ROM del programa xxxxxx.", MsgBoxStyle.Exclamation, title); } else { try { if (hardlock.isUSBHardlock()) { if (!hardlock.CheckTodasVersiones(num, num2, num3, num4, num5, num6, num7, num8)) { Interaction.MsgBox("!!! Los c\x00f3digos de protecci\x00f3n no coinciden con la pastilla que esta colocada en su ordenador. !!!", MsgBoxStyle.Critical, title); } else { flag = true; if (this.TipoVersion._ARK_Valor != hardlock.ElTipoversion) { Interaction.MsgBox("La pastilla de protecci\x00f3n que usted tiene colocada esta codificada para una versi\x00f3n: " + hardlock.ElTipoversion + " de xxxxx.", MsgBoxStyle.Exclamation, title); } this.TipoVersion._ARK_Valor = hardlock.ElTipoversion; } } else { Interaction.MsgBox(hardlock.GetError(), MsgBoxStyle.OkOnly, null); } } catch (Exception exception7) { ProjectData.SetProjectError(exception7); Exception exception3 = exception7; Interaction.MsgBox("Se ha producido un error al intentar detectar la protecci\x00f3n con pastilla del programa xxxxx.\rEl error ha sido: " + exception3.Message, MsgBoxStyle.Critical, title); ProjectData.ClearProjectError(); return; } } Label_0256: if (flag) { if (!this.Sin_Pastilla.Checked) { string str4 = "HardLock Aladdin"; if (hardlock.TipoPastilla == Hardlock.TipoHard.HardKeySTD) { str4 = "HARDKey STD"; } prompt = "## Tiene conectada un dispositivo USB del tipo: " + str4 + " ##\r\r"; } prompt = prompt + "xxxxx: El programa esta correctamente registrado.\r"; } try { int num9 = Conversions.ToShort(this.ClaveS_1.Text); int num10 = Conversions.ToShort(this.ClaveS_2.Text); int num11 = Conversions.ToShort(this.ClaveS_3.Text); int num12 = Conversions.ToShort(this.ClaveS_4.Text); int num13 = Conversions.ToShort(this.ClaveS_5.Text); int num14 = Conversions.ToShort(this.ClaveS_6.Text); int num15 = Conversions.ToShort(this.ClaveS_7.Text); int num16 = Conversions.ToShort(this.ClaveS_8.Text); if (hardlock.CheckSeguridadSalud(num, num2, num3, num4, num5, num6, num7, num8, num9, num10, num11, num12, num13, num14, num15, num16)) { prompt = prompt + "\rx1x1x1x: El programa esta correctamente registrado."; } else { prompt = prompt + "\rx1x1x1x: Los c\x00f3digos del programa no coinciden con la pastilla de protecci\x00f3n colocada."; } } catch (Exception exception8) { ProjectData.SetProjectError(exception8); Exception exception4 = exception8; if (exception4.Message.Contains("La conversi\x00f3n")) { Interaction.MsgBox("Debe introducir n\x00famero entero en cada casilla. Por favor, revise los c\x00f3digos introducidos en x1x1x1x.", MsgBoxStyle.Critical, title); } ProjectData.ClearProjectError(); return; } if (prompt != "") { prompt = prompt + "\r"; } try { int num17 = Conversions.ToShort(this.ClaveR_1.Text); int num18 = Conversions.ToShort(this.ClaveR_2.Text); int num19 = Conversions.ToShort(this.ClaveR_3.Text); int num20 = Conversions.ToShort(this.ClaveR_4.Text); int num21 = Conversions.ToShort(this.ClaveR_5.Text); int num22 = Conversions.ToShort(this.ClaveR_6.Text); int num23 = Conversions.ToShort(this.ClaveR_7.Text); int num24 = Conversions.ToShort(this.ClaveR_8.Text); if (hardlock.CheckRealidadVirtual(num, num2, num3, num4, num5, num6, num7, num8, num17, num18, num19, num20, num21, num22, num23, num24)) {
Aqui es donde yo he cambiado los saltos para que me acepte cualquier numero de serie. prompt = prompt + "\rx2x2x2x: El programa esta correctamente registrado.\r"; } else { prompt = prompt + "\rx2x2x2x: Los c\x00f3digos del programa no coinciden con la pastilla de protecci\x00f3n colocada.\r"; } } catch (Exception exception9) { ProjectData.SetProjectError(exception9); Exception exception5 = exception9; if (exception5.Message.Contains("La conversi\x00f3n")) { Interaction.MsgBox("Debe introducir n\x00famero entero en cada casilla. Por favor, revise los c\x00f3digos introducidos en x2x2x2x.", MsgBoxStyle.Critical, title); } ProjectData.ClearProjectError(); return; } if (prompt != "") { Interaction.MsgBox(prompt, MsgBoxStyle.Information, "Sistema de protecci\x00f3n Anti-Copia");
|