יום שני, 12 ביוני 2023
Search in list
יום שני, 28 בנובמבר 2022
WPF - בחירת עמודות מטופס חיצוני - Column Chooser
בשביל שימוש בפקדים של telerik צריך להוסיף ref לקבצים:
Telerik.Windows.Controls
Telerik.Windows.Controls.GridView
Telerik.Windows.Controls.Input
Telerik.Windows.Data
https://www.telerik.com/blogs/how-to-column-chooser-for-radgridview-for-silverlight-and-wpf
MainWindow.xaml
MainWindowxaml.cs
dummy class
יום שני, 16 במאי 2022
הורדה ישירה מחנות מיקרוסופט
יום ראשון, 30 בינואר 2022
מיפוי כונן רשת לאות כונן במחשב
מיפוי כונן רשת - נעשה בעבר כדי למפות database מרוחק
* חשוב לוודא תקשורת בין שני המחשבים (בעזרת ping)
שלבים:
1. למצוא את כתובת ip של המחשב (עם database) - למשל 125.16.54.77
2. לעשות מיפוי כונן רשת - לחיצה ימנית על סמל 'המחשב שלי' > בחירת אות כונן (למשל A:) >
לבחור ספריה בכונן הרשת שאנו רוצים, למשל:
\\125.16.54.77\d$\databases\
צריך לבחור ב-Connect using different Credntials אם רוצים להזין שםמשתמש וסיסמה לכונן.
3. לחיצה על Finish - אם סימנו V בסעיף הקודם, אז יפתח חלון Windows Security - נלחץ על More Choices - Use Different Accout ונזין את פרטי ההתחברות
4. כדי לנתקן מיפוי כונן - יש ללחוץ לחיצה ימנית על הכונן בחלון 'המחשב שלי' > Disconnect network drive
יום שלישי, 11 בינואר 2022
C# - Udp Server & Client
Thread trdServerUdp =
new Thread(new ThreadStart(serverThread));
trdServerUdp.Start();
}
void ServerThread() {
UdpClient server = new UdpClient(port);
while (true) {
IPEndPoint remoteIpep = new IPEndPoint(IPAddress.Parse(ip), port);
byte[] receiveBytes = server.Receive(ref remoteIpep);
string str = Encoding.ASCII.GetString(receiveBytes);
Console.WriteLine($"{remoteIpep}: {str}");
}
}
string ip = "127.0.0.1";
int port = 8080;
string input;
UdpClient client = new UdpClient();
client.Connect(ip, port);
byte[] data;
while (true) {
input = Console.ReadLine();
if (input == "exit") break;
data = Encoding.ASCII.GetBytes(input);
client.Send(data, data.Length);
}
}
C# - Tcp Server & Client
TCP Server:
void server_foo(){
int port = 9050;
int recv;
byte[]data = new byte[1024];
IPEndPoint ipep = new IPEndPoint(IPAdress.Any, port);
Socket newsock = new Socket(AddressFamily.InterNetwork,
SocketType.Stream,
ProtocolType.Tcp);
newsock.Bind(ipep);
newsock.Listen(10);
Console.WriteLine("waiting for client...");
Socket client = newsoc.Accept();
IPEndPoint clientep = (IPEndPoint )client.RemoteEndPoint;
Console.WriteLine($"Connected with {clientep.Address} at port {clientep.Port}");
data = Encoding.ASCII.GetBytes("[CONNECTED TO SERVER]");
client.Send(data, data.Length, SocketFlag.None);
while (true) {
try {
data = new byte[1024];
recv = client.Receive(data);
Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));
if(recv == 0) break; // 0 == exit
client.Send(data, recv, SocketFlags.None);
}
catch (Exception ex) {
Console.WriteLine(ex.Message);
Console.ReadLine();
break;
}
finally {
client.Close();
newsock.Close();
}
}
Console.WriteLine($"Disconnected from {clientep.Address}:{clientep.Port}");
}
קוד קליינט שמנסה כל 5 שניות להתחבר:
TCP Client:
void client_foo(){
byte[]data = new byte[1024];
string input, stringData;
IPEndPoint ipep = new IPEndPoint(IPAddress.Parse(ip), port);
Socket server = new Socket(AddressFamily.InterNetwork,
SocketType.Stream,
ProtocolType.Tcp);
//try to connect:
while (true) {
try {
server.Connect(ipep);
Console.WriteLine("CONNECTED");
break;
}
catch {
//try to reconnect:
Console.WriteLine("Unable to connect: " + ex.Message);
Console.WriteLine("Trying to reconnect in:");
for (int i = 1; i <= 5; i++) {
Console.Write(i);
Console.CursorLeft = 0;
Thread.Sleep(1000);
}
}
}
// connected
int recv = server.Receive(data);
stringData = Encoding.ASCII.GetString(data, 0 ,recv);
Console.WriteLine(stringData);
while (true) {
input = Console.ReadLine();
if (input == "exit") break;
// send message
server.Send(Encoding.ASCII.GetBytes(input));
// get message back
data = new byte[1024];
recv = server.Receive(data);
stringData = Encoding.ASCII.GetString(data, 0 ,recv);
Console.WriteLine(stringData);
}
//close connection to server
Console.WriteLine("Disconnected from server");
server.Shutdown(SocketShutdown.Both);
server.Close();
}
יום רביעי, 10 בנובמבר 2021
hack family safety lock
איך לפרוץ את נעילת הגנת הורים של windows
כאשר החשבון נעול מפני מנגנון הגנת משפחה (Family Safety Monitor by Microsoft Corporation), ומאפשר למשל כניסה הבאה רק ב-8 בבוקר, ניתן לפרוץ אותו בדרך הבאה:
להדליק ולכבות את המחשב לפני שהוא נכנס ל-windwos מספר פעמים עד שהמחשב יעלה במצב לתיקון בעיות אתחול.
ניתן לראות הדגמה לכניסה למערכת הקבצים כאן:
https://www.youtube.com/watch?v=n7KEwXbFlIU
צריך להיכנס למערכת הקבצים ולשנות את שם הקובץ
c:\windows\system32\wpcmon.exe
לשם אחר - למשל להוסיף לשם הקובץ 1111
ואז להפעיל את המחשב מחדש.
הקובץ הזה הוא זה שמפעיל את מנגנון הגנת הורים, וכעת הוא לא יפעל בעליית windows
יום רביעי, 13 באוקטובר 2021
יום חמישי, 15 ביולי 2021
חלוקת מסך בדפדפן האינטרנט
יום ראשון, 15 בנובמבר 2020
איך להריץ קובץ bat בתור מנהל מערכת
יש להוסיף את הקוד הזה בתחילת הקובץ, ובסופו את הקוד שנרצה להריץ בתור מנהלי מערכת:
כיצד ליצור קובץ bat:
1. יש לפתוח את התיקיה בה נרצה שיהיה הקובץ
2. לחיצה ימנית על שטח ריק > ניצור קובץ txt
3. נכתוב בתוכו את תוכן הקובץ ונשמור
4. נשנה את סיומת הקובץ מ-txt ל-bat - למשל
snir.txt > snir.bat
יום רביעי, 18 במרץ 2020
החבאת זיפ בתוך תמונה
ולשנות את סיומת הקובץ לכל סיומת שנבחר, למשל jpg .
אבל ברגע שננסה לפתוח את ה'תמונה' החדשה שעכשיו יצרנו ניתקל בהודעת שגיאה.
בשביל ליצור קובץ תמונה תקני שיתפקד כקובץ zip בשינוי סיומת הקובץ, יש לנקוט צעדים הבאים:
1. מקם את שני הקבצים , למשל - snir.jpg , elgabsi.zip - באותה תיקיה.
2. הקלד את הפקודה:
b/ משמעו קיצור ל "בינארי". הפקודה 'תעתיק' יחד את שני הקבצים.
סדר רישום הקבצים בפקודה חשוב.
3. כעת נוצר הקובץ הסופי - ha_gever.jpg (אפשרי גם ליצור קובץ סופי בכל פורמט).
שנה את סיומת הקובץ ע"מ להשתמש בו במתכונתו האחרת.
יום שבת, 26 באוקטובר 2019
איך לקבל את קוד product key של ווינדוס
- פתח את 'פנקס הרשימות' - notepad
- העתק את הקוד
- הדבק את הקטע הבא בקובץ product-key.vbs
Option Explicit
Dim objshell,path,DigitalID, Result
Set objshell = CreateObject("WScript.Shell")
'Set registry key path
Path = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"
'Registry key value
DigitalID = objshell.RegRead(Path & "DigitalProductId")
Dim ProductName,ProductID,ProductKey,ProductData
'Get ProductName, ProductID, ProductKey
ProductName = "Product Name: " & objshell.RegRead(Path & "ProductName")
ProductID = "Product ID: " & objshell.RegRead(Path & "ProductID")
ProductKey = "Installed Key: " & ConvertToKey(DigitalID)
ProductData = ProductName & vbNewLine & ProductID & vbNewLine & ProductKey
'Show messbox if save to a file
If vbYes = MsgBox(ProductData & vblf & vblf & "Save to a file?", vbYesNo + vbQuestion, "BackUp Windows Key Information") then
Save ProductData
End If
'Convert binary to chars
Function ConvertToKey(Key)
Const KeyOffset = 52
Dim isWin8, Maps, i, j, Current, KeyOutput, Last, keypart1, insert
'Check if OS is Windows 8
isWin8 = (Key(66) \ 6) And 1
Key(66) = (Key(66) And &HF7) Or ((isWin8 And 2) * 4)
i = 24
Maps = "BCDFGHJKMPQRTVWXY2346789"
Do
Current= 0
j = 14
Do
Current = Current* 256
Current = Key(j + KeyOffset) + Current
Key(j + KeyOffset) = (Current \ 24)
Current=Current Mod 24
j = j -1
Loop While j >= 0
i = i -1
KeyOutput = Mid(Maps,Current+ 1, 1) & KeyOutput
Last = Current
Loop While i >= 0
keypart1 = Mid(KeyOutput, 2, Last)
insert = "N"
KeyOutput = Replace(KeyOutput, keypart1, keypart1 & insert, 2, 1, 0)
If Last = 0 Then KeyOutput = insert & KeyOutput
ConvertToKey = Mid(KeyOutput, 1, 5) & "-" & Mid(KeyOutput, 6, 5) & "-" & Mid(KeyOutput, 11, 5) & "-" & Mid(KeyOutput, 16, 5) & "-" & Mid(KeyOutput, 21, 5)
End Function
'Save data to a file
Function Save(Data)
Dim fso, fName, txt,objshell,UserName
Set objshell = CreateObject("wscript.shell")
'Get current user name
UserName = objshell.ExpandEnvironmentStrings("%UserName%")
'Create a text file on desktop
fName = "C:\Users\" & UserName & "\Desktop\WindowsKeyInfo.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set txt = fso.CreateTextFile(fName)
txt.Writeline Data
txt.Close
End Function
המקור מגיע מכאן:
https://www.slothparadise.com/how-to-get-windows-product-key
https://www.youtube.com/watch?v=wzuCgm7dIEc
יום שלישי, 10 בספטמבר 2019
VS_FileCompare
ללא תוכנה חיצונית
כתבו את הקוד הבא בקובץ cmd
השוואת הקבצים תיעשה ע"י כתיבת שורת הקוד הבאה
יום חמישי, 22 בנובמבר 2018
כתיבה וטעינה של קבצי XML - שפת c#
ניתן לכתוב/לקרוא XML לכל סוג של מחלקה/אובייקט, גם אם יהיה זה אובייקט בסיסי (לדוגמה string) או מחלקה שנוצרה על-ידי המשתמש:
שימוש לדוגמה:
public class MyClass { public string Name { get; set; } public int[] Age { get; set; } public MyClass2 Mc2 { get; set; } } public class MyClass2 { public int[] Num { get; set; } } class Program { static void Main(string[] args) { MyClass myclass = new MyClass() { Name = "snir", Age = new int[] { 1, 2, }, Mc2 = new MyClass2 { Num = new int[] { 10, 45 } } }; SnirXmlHandler.Save(myclass, "snir.xml"); MyClass mc = SnirXmlHandler.Load ("snir.xml"); } }
קובץ XML תוצאה:
<myclass xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <age> <name>snir</name> <age> <int>1</int> <int>2</int> </age> <mc2> <num> <int>10</int> <int>45</int> </num> </mc2> </myclass>
קונטרול webbrowser לגרסת Internet Explorer הכי גבוהה
1. יש לגשת לתיקיה זו ברגיסטרי
ולשנות/להוסיף מפתח זה עבור כל תוכנה רצויה
- 7000 , 8888, 9000, 10000, 11000 (standards-based !DOCTYPE directives)
- 8888, 9999, 10001, 11001 (regardless of the !DOCTYPE directive)
(אפשרות זו אינה קיימת ב-internet explorer edge)
תרגום לעברית: הגדרות של תצוגת תאימות
יש אפשרות לעשות שהתוכנה תרשום את עצמה ברגיסטרי עבור שימוש בגרסה IE גבוהה יותר:
Main\FeatureControl
יום שני, 8 באוקטובר 2018
איך לדחוף dll לתוך קובץ exe
1. במאפיינים של קובץ ה-dll שנוסף בתור reference, יש לשנות את Copy Local=False
2. את אותו קובץ שהוספנו בתור reference יש לגרור אל תוך הפרויקט ב-solution explorer
3. יש לשנות את המאפיין של קובץ זה: Build Action=Embedded
4. יש להעתיק את הקוד הבא למקום שלפני Application.Run בתוך הקוד של exe:
יום שישי, 20 באפריל 2018
שפת בסיס נתונים
לאחר מעט שוטטיות באינטרנט התברר לי שהקולז'ן של בסיס הנתונים שלי הוא:
SQL_Latin1_General_CP1_CI_AS
כלומר לטינית.
כדי לשנות אותו עשיתי:
כדי לבדוק מה הקולזן של בסיס הנתונים:
יום שני, 20 בנובמבר 2017
כיצד לתקשר בין צד c# אל צד js בתוך WebBrowser ולהיפך
יש להוסיף בראש הדף (לפני המחלקה הראשונה) את הקוד הבא:
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")] [ComVisible(true)]
//[ComVisibleAttribute(true)]
public partial class Form1 : Form
{ ... }
בחלק Load של הדף יש להגדיר את WebBrowser ולצורך הדוגמה נכתוב בתוכו את ה-html:
private void Form1_Load(object sender, EventArgs e)
{
// 4. Set the ObjectForScripting property in the
// form's constructor or a Load event handler.
// The following code uses the form class
// itself for the scripting object. // Component Object Model (COM) must be able
// to access the scripting object. // Use [ComVisible(true)] in order to make your
//form visible to COM
// (add the ComVisibleAttribute attribute to your form class). webBrowser1.ObjectForScripting = this;
webBrowser1.DocumentText =@"<html><head> <script>// the js function to call from the c# side:function myFoo(arg) { alert(arg); } </script> </head><body>send code to c# side: <br/> <input type='text' id='snir' value='snir send to c#'></input> <button onclick='window.external.Test(document.getElementById('snir').value)'> call client C# code from javscript code</button> </body> </html>";
}
// get message from the webpage's js [ComVisible(true)] public void Test(string arg) { MessageBox.Show(argt, "C# side"); }
נגדיר מתודה שתשלח מידע אל צד js:
private void SendToWebpage() { webBrowser1.Document.InvokeScript( "myFoo", new String[] { textBox1.Text } ); }


