zoukankan      html  css  js  c++  java
  • 摄像头拍照录相代码,没摄像头测试,

    摄像头拍照录相代码,没摄像头测试,

     1   static class Program
     2     {
     3         /// <summary>
     4         /// 应用程序的主入口点。
     5         /// </summary>
     6         [STAThread]
     7         static void Main()
     8         {
     9             Application.EnableVisualStyles();
    10             Application.SetCompatibleTextRenderingDefault(false);
    11             Application.Run(new Form1());
    12         }
    13     }
    Program Code
      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Text;
      5 using System.Drawing ;
      6 using System.Drawing.Imaging;
      7 using System.Runtime .InteropServices ;
      8 
      9 namespace CatchVIPH
     10 {
     11      class webcam
     12     {
     13          private const int WM_USER=0x400;
     14          private const int WS_CHILD=0x40000000;
     15          private const int WS_VISIBLE=0x10000000;
     16          private const int WM_CAP_START=WM_USER;
     17          private const int WM_CAP_STOP=WM_CAP_START + 68;
     18          private const int WM_CAP_DRIVER_CONNECT=WM_CAP_START + 10;
     19          private const int WM_CAP_DRIVER_DISCONNECT=WM_CAP_START + 11;
     20          private const int WM_CAP_SAVEDIB=WM_CAP_START + 25;
     21          private const int WM_CAP_GRAB_FRAME=WM_CAP_START + 60;
     22          private const int WM_CAP_SEQUENCE=WM_CAP_START + 62;
     23          private const int WM_CAP_FILE_SET_CAPTURE_FILEA=WM_CAP_START + 20;
     24          private const int WM_CAP_SEQUENCE_NOFILE=WM_CAP_START+ 63;
     25          private const int WM_CAP_SET_OVERLAY=WM_CAP_START+ 51;
     26          private const int WM_CAP_SET_PREVIEW=WM_CAP_START+ 50;
     27          private const int WM_CAP_SET_CALLBACK_VIDEOSTREAM=WM_CAP_START +6;
     28          private const int WM_CAP_SET_CALLBACK_ERROR=WM_CAP_START +2;
     29          private const int WM_CAP_SET_CALLBACK_STATUSA=WM_CAP_START +3;
     30          private const int WM_CAP_SET_CALLBACK_FRAME=WM_CAP_START +5;
     31          private const int WM_CAP_SET_SCALE=WM_CAP_START+ 53;
     32          private const int WM_CAP_SET_PREVIEWRATE=WM_CAP_START+ 52;
     33          private IntPtr hWndC;
     34          private bool bStat = false;
     35  
     36          private IntPtr mControlPtr;
     37          private int mWidth;
     38          private int mHeight;
     39          private int mLeft;
     40          private int mTop;
     41          private string GrabImageName="";
     42          private string KinescopeName="";
     43  
     44           /// <summary>
     45          /// 初始化摄像头
     46          /// </summary>
     47          /// <param name="handle">控件的句柄</param>
     48          /// <param name="left">开始显示的左边距</param>
     49          /// <param name="top">开始显示的上边距</param>
     50          /// <param name="width">要显示的宽度</param>
     51          /// <param name="height">要显示的长度</param>
     52          public webcam(IntPtr handle,int left,int top,int width,int height)
     53           {
     54              mControlPtr=handle;
     55              mWidth=width;
     56              mHeight=height;
     57              mLeft=left;
     58              mTop=top;
     59          }
     60          // #region "属性设置"
     61           /// <summary>
     62          /// 视频左边距
     63          /// </summary>
     64          public int Left
     65           {
     66               get {return mLeft;}
     67               set {mLeft=value;}
     68          }
     69  
     70           /// <summary>
     71          /// 视频上边距
     72          /// </summary>
     73          public int Top
     74           {
     75               get {return mTop;}
     76               set {mTop=value;}
     77          }
     78  
     79           /// <summary>
     80          /// 视频宽度
     81          /// </summary>
     82          public int Width
     83           {
     84               get {return mWidth;}
     85               set {mWidth=value;}
     86          }
     87  
     88           /// <summary>
     89          /// 视频高度
     90          /// </summary>
     91          public int Height
     92           {
     93               get {return mHeight;}
     94               set {mHeight=value;}
     95          }
     96  
     97           /// <summary>
     98          /// 抓图文件存放路径
     99          /// 例:d:a.bmp
    100          /// </summary>
    101          public string grabImageName
    102           {
    103               get {return GrabImageName;}
    104               set {GrabImageName=value;}
    105          }
    106 
    107  
    108           /// <summary>
    109          /// 录像文件存放路径
    110          /// 例:d:a.avi
    111          /// </summary>
    112          public string kinescopeName
    113           {
    114               get {return KinescopeName;}
    115               set {KinescopeName=value;}
    116          }
    117         // #endregion
    118         [DllImport("TwiHikVision.dll",EntryPoint="GetFirstPic",CallingConvention=CallingConvention.Cdecl)]
    119 
    120          public static extern string GetFirstPic(string videoFileName, string exportFilePath);
    121 
    122          [DllImport("avicap32.dll")]
    123          private static extern IntPtr capCreateCaptureWindowA(byte[] lpszWindowName,int dwStyle,int x,int y,int nWidth,int nHeight,IntPtr hWndParent,int nID);
    124          [DllImport("avicap32.dll")]
    125          public static extern bool capGetDriverDescriptionA(short wDriver, byte[] lpszName, int cbName, byte[] lpszVer, int cbVer);
    126          [DllImport("avicap32.dll")]
    127          private static extern int capGetVideoFormat(IntPtr hWnd,IntPtr psVideoFormat,int wSize );
    128          [DllImport("User32.dll")]
    129          private static extern bool SendMessage(IntPtr hWnd,int wMsg,int wParam,int iParm);
    130  
    131           /// <summary>
    132          /// 开始显示图像
    133          /// </summary>
    134          public void Start()
    135           {
    136              if(bStat)
    137                  return;
    138  
    139              bStat=true;
    140              byte[] lpszName=new byte[100];
    141  
    142              hWndC=capCreateCaptureWindowA(lpszName,WS_CHILD|WS_VISIBLE ,mLeft,mTop,mWidth,mHeight,mControlPtr,0);
    143  
    144              if (hWndC.ToInt32()!=0)
    145               {
    146                  SendMessage(hWndC,WM_CAP_SET_CALLBACK_VIDEOSTREAM,0,0);
    147                  SendMessage(hWndC,WM_CAP_SET_CALLBACK_ERROR,0,0);
    148                  SendMessage(hWndC,WM_CAP_SET_CALLBACK_STATUSA,0,0);
    149                  SendMessage(hWndC,WM_CAP_DRIVER_CONNECT,0,0);
    150                  SendMessage(hWndC,WM_CAP_SET_SCALE,1,0);
    151                  SendMessage(hWndC,WM_CAP_SET_PREVIEWRATE,66,0);
    152                  SendMessage(hWndC,WM_CAP_SET_OVERLAY,1,0);
    153                  SendMessage(hWndC,WM_CAP_SET_PREVIEW,1,0);
    154              }
    155              return;
    156          }
    157  
    158           /// <summary>
    159          /// 停止
    160          /// </summary>
    161          public void Stop()
    162           {
    163              SendMessage(hWndC,WM_CAP_DRIVER_DISCONNECT,0,0);
    164              bStat=false;
    165          }
    166  
    167           /// <summary>
    168          /// 拍照
    169          /// </summary>
    170          /// <param name="path">要保存bmp文件的路径</param>
    171          public void GrabImage()
    172           {
    173              IntPtr hBmp=Marshal.StringToHGlobalAnsi(GrabImageName);
    174              SendMessage(hWndC,WM_CAP_SAVEDIB,0,hBmp.ToInt32());
    175  
    176          }
    177  
    178           /// <summary>
    179          /// 录像
    180          /// </summary>
    181          /// <param name="path">要保存avi文件的路径</param>
    182          public void Kinescope()
    183           {
    184              IntPtr hBmp=Marshal.StringToHGlobalAnsi(KinescopeName);
    185              SendMessage(hWndC,WM_CAP_FILE_SET_CAPTURE_FILEA,0,hBmp.ToInt32());
    186              SendMessage(hWndC,WM_CAP_SEQUENCE,0,0);
    187          }
    188  
    189           /// <summary>
    190          /// 停止录像
    191          /// </summary>
    192          public void StopKinescope()
    193           {
    194              SendMessage(hWndC,WM_CAP_STOP,0,0);
    195          }
    196 
    197     }
    198 
    199 }
    webcam Code
      1 using System;
      2 using System.Collections.Generic;
      3 using System.ComponentModel;
      4 using System.Data;
      5 using System.Drawing;
      6 using System.Linq;
      7 using System.Text;
      8 using System.Windows.Forms;
      9 using System.Threading ;
     10 using System.IO;
     11 
     12 
     13 public partial class Form1 : Form
     14     {
     15         public Form1()
     16         {
     17             InitializeComponent();
     18         }
     19 
     20         private webcam wcam = null;
     21         
     22         private void Form1_Load(object sender, EventArgs e)
     23         {
     24             //start();
     25             //this.btnKinescopeSt.Enabled = false;
     26             ToolTip tooltip1 = new ToolTip();
     27             tooltip1.AutoPopDelay = 5000;
     28             tooltip1.InitialDelay = 1000;
     29             toolTip1.ReshowDelay = 500;
     30             toolTip1.ShowAlways = true;
     31             toolTip1.SetToolTip(this.txtPath, "请输入文件名称如 图片名称.bmp 视频名称.avi");
     32         }
     33 
     34         public void start()
     35         {
     36             //以panel1显示视频内容
     37             wcam = new webcam(panel1.Handle, 0, 0, this.panel1.Width, this.panel1.Height);
     38             wcam.Start();
     39         }
     40         private void btnStar_Click(object sender, EventArgs e)
     41         {
     42             start();
     43             this.btnKinescopeSt.Enabled = false;
     44             wcam.Start();
     45 
     46             
     47         }
     48 
     49         private void btnStop_Click(object sender, EventArgs e)
     50         {
     51             //wcam.Stop();
     52             this.Close();
     53              //btnKinescopeBg.Dispose();
     54         }
     55 
     56         private void btnSnapPic_Click(object sender, EventArgs e)
     57         {
     58             //先填入图片名称和格式(a.bmp)
     59            // this.txtPath.Text = @"(BMP)|*.BMP*.*";
     60             string PicName = this.txtPath.Text+".BMP";
     61            
     62             if (PicName  == ""+".BMP")
     63             {
     64                 MessageBox.Show("必须填写图片名称");
     65                 return;
     66             }
     67             else if (File.Exists(PicName))
     68             {
     69                 MessageBox.Show("该图片名称已经存在,请换一个名称");
     70             }
     71             else
     72             {
     73               
     74                 wcam.grabImageName = PicName ;
     75                 wcam.GrabImage();
     76                 MessageBox.Show("拍照成功");
     77             }
     78            
     79         }
     80 
     81         
     82 
     83         private void panel1_SizeChanged(object sender, EventArgs e)
     84         {
     85             wcam.Stop();
     86             wcam.Height = this.panel1.Height;
     87             wcam.Width = this.panel1.Width;
     88             wcam.Start();
     89         }
     90         
     91         private delegate void delegateKinescope();
     92 
     93         private void btnKinescopeBg_Click(object sender, EventArgs e)
     94         {
     95             //填入视频名称和格式(a.avi)
     96             string KinName = this.txtPath.Text+ ".AVI";
     97             if (KinName == ""+".AVI")
     98             {
     99                 MessageBox.Show("必须填写视频名称");
    100                 return;
    101             }
    102                 else if (File.Exists(KinName ))
    103                 {
    104                 MessageBox.Show("该视频名称已经存在,请换一个名称");
    105                  }
    106                     else
    107                     {
    108                         wcam.kinescopeName = KinName;
    109                         delegateKinescope myK = new delegateKinescope(wcam.Kinescope);
    110                         Thread threadKinescope = new Thread(new ThreadStart(myK));
    111                         threadKinescope.Start();
    112                         this.btnKinescopeBg.Enabled = false;
    113                         this.btnKinescopeSt.Enabled = true;
    114                     }
    115         }
    116         public void starKinescope()
    117         {
    118             delegateKinescope myK = new delegateKinescope (wcam.Kinescope );
    119         }
    120 
    121         private void btnKinescopeSt_Click(object sender, EventArgs e)
    122         {
    123             wcam .StopKinescope ();
    124             this .btnKinescopeBg .Enabled = true;
    125             this .btnKinescopeSt .Enabled = false;
    126         }
    127 
    128         private void txtPath_TextChanged(object sender, EventArgs e)
    129         {
    130             
    131         }
    132 
    133         private void pictureBox1_Click(object sender, EventArgs e)
    134         {
    135 
    136         }
    137 
    138         private void button1_Click(object sender, EventArgs e)
    139         {
    140            
    141             openFileDialog1.ShowDialog();
    142             Bitmap p1 = new Bitmap(openFileDialog1.FileName);//建立一个bitmap对象
    143             pictureBox1.Image = p1  ;
    144             
    145         }
    146 
    147         private void toolTip1_Popup(object sender, PopupEventArgs e)
    148         {
    149 
    150         }
    151 
    152         
    153         
    154     }
    Form1 Code
      1    partial class Form1
      2     {
      3         /// <summary>
      4         /// 必需的设计器变量。
      5         /// </summary>
      6         private System.ComponentModel.IContainer components = null;
      7 
      8         /// <summary>
      9         /// 清理所有正在使用的资源。
     10         /// </summary>
     11         /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
     12         protected override void Dispose(bool disposing)
     13         {
     14             if (disposing && (components != null))
     15             {
     16                 components.Dispose();
     17             }
     18             base.Dispose(disposing);
     19         }
     20 
     21         #region Windows 窗体设计器生成的代码
     22 
     23         /// <summary>
     24         /// 设计器支持所需的方法 - 不要
     25         /// 使用代码编辑器修改此方法的内容。
     26         /// </summary>
     27         private void InitializeComponent()
     28         {
     29             this.components = new System.ComponentModel.Container();
     30             this.panel1 = new System.Windows.Forms.PictureBox();
     31             this.btnStar = new System.Windows.Forms.Button();
     32             this.btnStop = new System.Windows.Forms.Button();
     33             this.btnSnapPic = new System.Windows.Forms.Button();
     34             this.btnKinescopeBg = new System.Windows.Forms.Button();
     35             this.btnKinescopeSt = new System.Windows.Forms.Button();
     36             this.txtPath = new System.Windows.Forms.TextBox();
     37             this.pictureBox1 = new System.Windows.Forms.PictureBox();
     38             this.button1 = new System.Windows.Forms.Button();
     39             this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
     40             this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
     41             ((System.ComponentModel.ISupportInitialize)(this.panel1)).BeginInit();
     42             ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
     43             this.SuspendLayout();
     44             // 
     45             // panel1
     46             // 
     47             this.panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
     48             this.panel1.Location = new System.Drawing.Point(0, 12);
     49             this.panel1.Name = "panel1";
     50             this.panel1.Size = new System.Drawing.Size(352, 238);
     51             this.panel1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
     52             this.panel1.TabIndex = 0;
     53             this.panel1.TabStop = false;
     54             this.panel1.SizeChanged += new System.EventHandler(this.panel1_SizeChanged);
     55             // 
     56             // btnStar
     57             // 
     58             this.btnStar.BackColor = System.Drawing.SystemColors.ButtonFace;
     59             this.btnStar.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
     60             this.btnStar.Location = new System.Drawing.Point(486, 12);
     61             this.btnStar.Name = "btnStar";
     62             this.btnStar.Size = new System.Drawing.Size(87, 30);
     63             this.btnStar.TabIndex = 1;
     64             this.btnStar.Text = "开启";
     65             this.btnStar.UseVisualStyleBackColor = false;
     66             this.btnStar.Click += new System.EventHandler(this.btnStar_Click);
     67             // 
     68             // btnStop
     69             // 
     70             this.btnStop.BackColor = System.Drawing.SystemColors.ButtonFace;
     71             this.btnStop.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
     72             this.btnStop.Location = new System.Drawing.Point(486, 306);
     73             this.btnStop.Name = "btnStop";
     74             this.btnStop.Size = new System.Drawing.Size(87, 31);
     75             this.btnStop.TabIndex = 2;
     76             this.btnStop.Text = "关闭";
     77             this.btnStop.UseVisualStyleBackColor = false;
     78             this.btnStop.Click += new System.EventHandler(this.btnStop_Click);
     79             // 
     80             // btnSnapPic
     81             // 
     82             this.btnSnapPic.BackColor = System.Drawing.SystemColors.ButtonFace;
     83             this.btnSnapPic.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
     84             this.btnSnapPic.Location = new System.Drawing.Point(486, 187);
     85             this.btnSnapPic.Name = "btnSnapPic";
     86             this.btnSnapPic.Size = new System.Drawing.Size(87, 31);
     87             this.btnSnapPic.TabIndex = 3;
     88             this.btnSnapPic.Text = "拍照";
     89             this.btnSnapPic.UseVisualStyleBackColor = false;
     90             this.btnSnapPic.Click += new System.EventHandler(this.btnSnapPic_Click);
     91             // 
     92             // btnKinescopeBg
     93             // 
     94             this.btnKinescopeBg.BackColor = System.Drawing.SystemColors.ButtonFace;
     95             this.btnKinescopeBg.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
     96             this.btnKinescopeBg.Location = new System.Drawing.Point(486, 72);
     97             this.btnKinescopeBg.Name = "btnKinescopeBg";
     98             this.btnKinescopeBg.Size = new System.Drawing.Size(87, 30);
     99             this.btnKinescopeBg.TabIndex = 4;
    100             this.btnKinescopeBg.Text = "开始录制";
    101             this.btnKinescopeBg.UseVisualStyleBackColor = false;
    102             this.btnKinescopeBg.Click += new System.EventHandler(this.btnKinescopeBg_Click);
    103             // 
    104             // btnKinescopeSt
    105             // 
    106             this.btnKinescopeSt.BackColor = System.Drawing.SystemColors.ButtonFace;
    107             this.btnKinescopeSt.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
    108             this.btnKinescopeSt.Location = new System.Drawing.Point(486, 128);
    109             this.btnKinescopeSt.Name = "btnKinescopeSt";
    110             this.btnKinescopeSt.Size = new System.Drawing.Size(87, 31);
    111             this.btnKinescopeSt.TabIndex = 5;
    112             this.btnKinescopeSt.Text = "停止录制";
    113             this.btnKinescopeSt.UseVisualStyleBackColor = false;
    114             this.btnKinescopeSt.Click += new System.EventHandler(this.btnKinescopeSt_Click);
    115             // 
    116             // txtPath
    117             // 
    118             this.txtPath.Location = new System.Drawing.Point(474, 489);
    119             this.txtPath.Name = "txtPath";
    120             this.txtPath.Size = new System.Drawing.Size(99, 21);
    121             this.txtPath.TabIndex = 6;
    122             this.txtPath.TextChanged += new System.EventHandler(this.txtPath_TextChanged);
    123             // 
    124             // pictureBox1
    125             // 
    126             this.pictureBox1.BackColor = System.Drawing.SystemColors.ActiveBorder;
    127             this.pictureBox1.Location = new System.Drawing.Point(0, 256);
    128             this.pictureBox1.Name = "pictureBox1";
    129             this.pictureBox1.Size = new System.Drawing.Size(352, 260);
    130             this.pictureBox1.TabIndex = 8;
    131             this.pictureBox1.TabStop = false;
    132             this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);
    133             // 
    134             // button1
    135             // 
    136             this.button1.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
    137             this.button1.Location = new System.Drawing.Point(486, 246);
    138             this.button1.Name = "button1";
    139             this.button1.Size = new System.Drawing.Size(87, 31);
    140             this.button1.TabIndex = 9;
    141             this.button1.Text = "查看";
    142             this.button1.UseVisualStyleBackColor = true;
    143             this.button1.Click += new System.EventHandler(this.button1_Click);
    144             // 
    145             // openFileDialog1
    146             // 
    147             this.openFileDialog1.FileName = "openFileDialog1";
    148             // 
    149             // toolTip1
    150             // 
    151             this.toolTip1.Popup += new System.Windows.Forms.PopupEventHandler(this.toolTip1_Popup);
    152             // 
    153             // Form1
    154             // 
    155             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
    156             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    157             this.AutoSize = true;
    158             this.BackColor = System.Drawing.SystemColors.ActiveCaption;
    159             this.ClientSize = new System.Drawing.Size(624, 522);
    160             this.Controls.Add(this.button1);
    161             this.Controls.Add(this.pictureBox1);
    162             this.Controls.Add(this.txtPath);
    163             this.Controls.Add(this.btnKinescopeSt);
    164             this.Controls.Add(this.btnKinescopeBg);
    165             this.Controls.Add(this.btnSnapPic);
    166             this.Controls.Add(this.btnStop);
    167             this.Controls.Add(this.btnStar);
    168             this.Controls.Add(this.panel1);
    169             this.MaximizeBox = false;
    170             this.MinimizeBox = false;
    171             this.Name = "Form1";
    172             this.Text = "CatchVIPH";
    173             this.Load += new System.EventHandler(this.Form1_Load);
    174             ((System.ComponentModel.ISupportInitialize)(this.panel1)).EndInit();
    175             ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
    176             this.ResumeLayout(false);
    177             this.PerformLayout();
    178 
    179         }
    180 
    181         #endregion
    182 
    183         private System.Windows.Forms.PictureBox panel1;
    184         private System.Windows.Forms.Button btnStar;
    185         private System.Windows.Forms.Button btnStop;
    186         private System.Windows.Forms.Button btnSnapPic;
    187         private System.Windows.Forms.Button btnKinescopeBg;
    188         private System.Windows.Forms.Button btnKinescopeSt;
    189         private System.Windows.Forms.TextBox txtPath;
    190         private System.Windows.Forms.PictureBox pictureBox1;
    191         private System.Windows.Forms.Button button1;
    192         private System.Windows.Forms.OpenFileDialog openFileDialog1;
    193         private System.Windows.Forms.ToolTip toolTip1;
    194     }
    Form1Dispose Code
     1 <?xml version="1.0" encoding="utf-8"?>
     2 <root>
     3  
     4   <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
     5     <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
     6     <xsd:element name="root" msdata:IsDataSet="true">
     7       <xsd:complexType>
     8         <xsd:choice maxOccurs="unbounded">
     9           <xsd:element name="metadata">
    10             <xsd:complexType>
    11               <xsd:sequence>
    12                 <xsd:element name="value" type="xsd:string" minOccurs="0" />
    13               </xsd:sequence>
    14               <xsd:attribute name="name" use="required" type="xsd:string" />
    15               <xsd:attribute name="type" type="xsd:string" />
    16               <xsd:attribute name="mimetype" type="xsd:string" />
    17               <xsd:attribute ref="xml:space" />
    18             </xsd:complexType>
    19           </xsd:element>
    20           <xsd:element name="assembly">
    21             <xsd:complexType>
    22               <xsd:attribute name="alias" type="xsd:string" />
    23               <xsd:attribute name="name" type="xsd:string" />
    24             </xsd:complexType>
    25           </xsd:element>
    26           <xsd:element name="data">
    27             <xsd:complexType>
    28               <xsd:sequence>
    29                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
    30                 <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
    31               </xsd:sequence>
    32               <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
    33               <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
    34               <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
    35               <xsd:attribute ref="xml:space" />
    36             </xsd:complexType>
    37           </xsd:element>
    38           <xsd:element name="resheader">
    39             <xsd:complexType>
    40               <xsd:sequence>
    41                 <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
    42               </xsd:sequence>
    43               <xsd:attribute name="name" type="xsd:string" use="required" />
    44             </xsd:complexType>
    45           </xsd:element>
    46         </xsd:choice>
    47       </xsd:complexType>
    48     </xsd:element>
    49   </xsd:schema>
    50   <resheader name="resmimetype">
    51     <value>text/microsoft-resx</value>
    52   </resheader>
    53   <resheader name="version">
    54     <value>2.0</value>
    55   </resheader>
    56   <resheader name="reader">
    57     <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
    58   </resheader>
    59   <resheader name="writer">
    60     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
    61   </resheader>
    62   <metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    63     <value>24, 17</value>
    64   </metadata>
    65   <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
    66     <value>172, 17</value>
    67   </metadata>
    68 </root>
    资源文件 Code
  • 相关阅读:
    Java高并发8-计算机内存模式以及volatile,sychronized工作原理
    Java高并发7-inheritableThreadLocal实现父子线程变量同步原理
    Java高并发6-ThreadLocal内部各种方法实现原理
    Java高并发5-守护线程、ThreadLocal和死锁四个必要条件
    Java高并发4-解析volatile关键字
    AQS详解,并发编程的半壁江山
    Java 调用File的delete方法删除文件返回false
    Java 将文件夹打成压缩包 zip
    前端 文件夹上传 解决方案
    ORA-00904: "FILED_TYPE": 标识符无效
  • 原文地址:https://www.cnblogs.com/endv/p/5445884.html
Copyright © 2011-2022 走看看