�@

.NET TIPS

�o�[�W�������_�C�A���O���쐬����ɂ́H

�f�W�^���A�h�o���e�[�W�@��F ���F
2005/04/01

�@Windows�A�v���P�[�V�����ł́A���s���̃A�v���P�[�V��������̂ǂ̃o�[�W�����Ȃ̂����A���[�U�[���ȒP�ɒ��ׂ���悤�ɁA�m�o�[�W�������n�_�C�A���O��p�ӂ��邱�Ƃ���ʓI���B���́m�o�[�W�������n�_�C�A���O�́A���C����ʂ̃��j���[�E�o�[����\���ł���悤�ɂ��邱�Ƃ������B

�@�Ⴆ��Windows�W���̃e�L�X�g�E�G�f�B�^�ł���u�������v�ł́A���j���[�E�o�[�́m�w���v�n�|�m�o�[�W�������n����A���̉�ʂ̂悤�ȁm�������̃o�[�W�������n�_�C�A���O��\���ł���B

�m�������̃o�[�W�������n�_�C�A���O
�m�X�^�[�g�n���j���[�́m���ׂẴv���O�����n�|�m�A�N�Z�T���n�|�m�������n���烁�������N�����A���́m�o�[�W�������n�_�C�A���O���N�������Ƃ���B
�@ ���j���[�E�o�[�́m�w���v�n�|�m�o�[�W�������n��I������ƁA�m�������̃o�[�W�������n�_�C�A���O���\�������B
�@ �o�[�W�������B���i���i1�s�ځj�A�o�[�W�����ԍ��i2�s�ځj�A�R�s�[���C�g�i3�s�ځj���\������Ă���B

�@�{�e�ł́A���̂悤�ȁm�o�[�W�������n�_�C�A���O���쐬������@���Љ��B

Windows�A�v���P�[�V�����́m�o�[�W�������n�_�C�A���O�̍쐬���@

�@�܂��̓_�C�A���O�����[�_���ō쐬���āA������A�v���P�[�V�����̃��C����ʂ̃��j���[�E�o�[�Ȃǂ���Ăяo���K�v������B���̎����ɂ‚��Ă͂����ł͊�������B���[�_���E���[�h�̃_�C�A���O���\�z������@�ɂ‚��ẮuTIPS�F���[�_���E�_�C�A���O�⃂�[�h���X�E�_�C�A���O��\������ɂ́H�v���Q�Ƃ��Ăق����B

�@���ɍ쐬�����_�C�A���O��Ƀo�[�W��������\������B�{�e�ł͎��̂悤�ȃ_�C�A���O��ʂ��\�z���邱�Ƃɂ��悤�B

�{�e�ō쐬����m�o�[�W�������n�_�C�A���O
���́m�o�[�W�������n�_�C�A���O�ł́A�A�v���P�[�V�����̐��i����o�[�W�����ȂǂɊւ����񂪕\������Ă���B
�@ �t�H�[���̃^�C�g���Ɂu�����i���� �̃o�[�W�������v�Ƃ����e�L�X�g�i�t�H�[����Text�v���p�e�B�j��ݒ肷��B
�@ PictureBox�R���g���[���ɃA�v���P�[�V�����E�A�C�R���i�R���g���[����Image�v���p�e�B�j��\������B
�@ Label�R���g���[���Ɂu����Ж��� �����i�����v�Ƃ����e�L�X�g�i�R���g���[����Text�v���p�e�B�B�ȉ����l�j��ݒ肷��B
�@ Label�R���g���[���ɁuVersion ���o�[�W���������v�Ƃ����e�L�X�g��ݒ肷��B
�@ Label�R���g���[���Ɂu���R�s�[���C�g���v�Ƃ����e�L�X�g��ݒ肷��B
�@ Label�R���g���[���Ɂu�������L�q���v�Ƃ����e�L�X�g��ݒ肷��B
�@ �mOK�n�{�^���B������N���b�N����ƃ_�C�A���O���‚�����B

�@��L�̉�ʂ̂Ƃ���ɁAPictureBox�R���g���[���ALabel�R���g���[���AButton�R���g���[����z�u���Ăق����B�́mOK�n�{�^���Ɋւ��ẮAClick�C�x���g�E�n���h����lj����āA�����Ńt�H�[����Close���\�b�h���Ăяo�����ƂŁA�_�C�A���O���‚�����悤�ɂ��Ă������B

�@�_�C�A���O��ɕ\������Ă���o�[�W�������ɂ‚��ẮA�{�e�ł́A�n�[�h�E�R�[�f�B���O�Őݒ肷��̂ł͂Ȃ��A�A�Z���u���Ɏw�肳��Ă�������̃o�[�W�������𗘗p����B���̂悤�ɂ��邱�ƂŃo�[�W�������̋L�q��1�J���ŏW���Ǘ��ł���悤�ɂȂ�A�o�[�W�������𕡐����ɋL�q�����ꍇ�ɔ����������ȕύX�R���h����B�‚܂�A�o�[�W���������X�V�����ꍇ���A���́m�o�[�W�������n�_�C�A���O�ɂ͈�؎��G���K�v���Ȃ��Ȃ�̂��B

�@�Ȃ������Łu�����̃o�[�W�������v�ƌĂ�ł�����̂́AVisual Studio .NET�Ńv���W�F�N�g���쐬�����ꍇ�ɐ��������AssemblyInfo.cs�iC#�̏ꍇ�j��������AssemblyInfo.vb�iVB.NET�̏ꍇ�j�Ƃ������O�̃t�@�C�����Ŏw�肳�ꂽ�A�Z���u�������̏��̂��Ƃ��B���̃A�Z���u�������̎w����e�ɂ‚��ẮA�uTIPS�F�A�Z���u���Ƀo�[�W��������ݒ肷��ɂ́H�v���Q�Ƃ��Ă������������B

�@����ł̓A�Z���u������̃o�[�W�������̎擾���@�ɂ‚��Đ������Ă������B

�A�Z���u������̃o�[�W���������擾����ɂ́H

����������^�����i�����^���o�[�W��������

�@����Ж����^�����i�����^���o�[�W���������̎擾�́AApplication�N���X�iSystem.Windows.Forms���O��ԁj�̃v���p�e�B�Ƃ��ėp�ӂ���Ă���̂ŁA���̎����͔��ɊȒP���B��̓I�Ɏ��̂悤�ȃR�[�h�ɂ��擾�ł���B

// C#
// �o�[�W�������iAssemblyInformationalVersion�����j���擾
string appVersion = Application.ProductVersion;
// ���i���iAssemblyProduct�����j���擾
string appProductName = Application.ProductName;
// ��Ж��iAssemblyCompany�����j���擾
string appCompanyName = Application.CompanyName;
' VB.NET
' �o�[�W�������iAssemblyInformationalVersion�����j���擾
Dim appVersion As String = Application.ProductVersion
' ���i���iAssemblyProduct�����j���擾
Dim appProductName As String = Application.ProductName
' ��Ж��iAssemblyCompany�����j���擾
Dim appCompanyName As String = Application.CompanyName

�@����ɂ��A��L��ʂ� �̃e�L�X�g�ɂ‚��Ă͐ݒ�ł���B

�@���Ȃ݂ɁA�o�[�W�������𕶎���ł͂Ȃ��AVersion�N���X�iSystem���O��ԁj�̃I�u�W�F�N�g�Ƃ��Ď擾�������ꍇ�ɂ́A���̂悤�ȃR�[�h���L�q����΂悢�B

�@�Ȃ���L�̃o�[�W��������AssemblyInformationalVersion�����̒l�ł���̂ɑ΂��A���L�̂��̂�AssemblyVersion�����̒l���B�����̒l�́AAssemblyVersion�����݂̂��w�肵�Ă���ꍇ�ɂ́i�‚܂�ʏ�́j��v���邪�AAssemblyFileVersion������AssemblyInformationalVersion�������w�肵�Ă���ꍇ�ɂ͈قȂ��Ă���”\��������B����ɂ‚��Ă��O�f��TIPS���Q�Ƃ��Ăق����B

// C#
Assembly mainAssembly = Assembly.GetEntryAssembly();
AssemblyName mainAssemName = mainAssembly.GetName();
// �o�[�W�������iAssemblyVersion�����j���擾
Version appVersion = mainAssemName.Version;
' VB.NET
Dim mainAssembly As [Assembly] = [Assembly].GetEntryAssembly()
Dim mainAssemName As AssemblyName =  mainAssembly.GetName()
' �o�[�W�������iAssemblyVersion�����j���擾
Dim appVersion As Version =  mainAssemName.Version

�@����VB.NET�̃R�[�h�ŁAAssembly�N���X�̋L�q��[]�ň͂܂�Ă���̂́AVB.NET��Assembly�L�[���[�h�Ƃ̏d����������邽�߂��i����ɂ‚��ẮuTIPS�FC#��VB.NET�ŃL�[���[�h�����ʎq�Ƃ��Ďg�p����ɂ́H�v���Q�Ƃ��Ăق����j�B

�����R�s�[���C�g���^�������L�q��

�@���R�s�[���C�g���Ɓ������L�q���̎擾�͏�������������B�����̏��̓v���p�e�B���p�ӂ���Ă��Ȃ��̂ŁA�A�Z���u�����璼�ڎ擾����K�v������B

�@��̓I�ɂ͂܂��AAssembly�N���X�iSystem.Reflection���O��ԁj��GetEntryAssembly���\�b�h�ɂ��A�G���g���E�|�C���g���܂ރA�Z���u���iAssembly�I�u�W�F�N�g�j���擾����B�����̎��s�t�@�C���i.EXE�t�@�C���j�ɂ����ẮA�����Main���\�b�h���܂񂾃A�Z���u���ƂȂ��Ă���B

�@���ɂ���Assembly�I�u�W�F�N�g��GetCustomAttributes���\�b�h�𗘗p���āAAssemblyCopyright�����iSystem.Reflection���O��ԁj�̏��i�����R�s�[���C�g���̏��j�ƁAAssemblyDescription�����iSystem.Reflection���O��ԁj�̏��i���������L�q���̏��j���擾����B����GetCustomAttributes���\�b�h�̎g�����ɂ‚��Ă�MSDN�́uAssembly.GetCustomAttributes ���\�b�h�v���Q�Ƃ��ꂽ���B

�@��̓I�Ȏ����R�[�h�̗�͎��̂Ƃ��肾�B

// C#
Assembly mainAssembly = Assembly.GetEntryAssembly();

// �R�s�[���C�g�����擾
string appCopyright = "-";
object[] CopyrightArray =
  mainAssembly.GetCustomAttributes(
    typeof(AssemblyCopyrightAttribute), false);
if ((CopyrightArray != null) && (CopyrightArray.Length > 0))
{
  appCopyright =
    ((AssemblyCopyrightAttribute)CopyrightArray[0]).Copyright;
}

// �ڍ׏����擾
string appDescription = "-";
object[] DescriptionArray =
  mainAssembly.GetCustomAttributes(
    typeof(AssemblyDescriptionAttribute), false);
if ((DescriptionArray != null) && (DescriptionArray.Length > 0))
{
  appDescription =
    ((AssemblyDescriptionAttribute)DescriptionArray[0]).Description;
}
' VB.NET
Dim mainAssembly As [Assembly] = [Assembly].GetEntryAssembly()

' �R�s�[���C�g�����擾
Dim appCopyright As String = "-"
Dim CopyrightArray() As Object = _
  mainAssembly.GetCustomAttributes( _
    GetType(AssemblyCopyrightAttribute), False)
If Not (CopyrightArray Is Nothing) AndAlso (CopyrightArray.Length > 0) Then
    appCopyright = _
      (CType(CopyrightArray(0), AssemblyCopyrightAttribute)).Copyright
End If

' �ڍ׏����擾
Dim appDescription As String = "-"
Dim DescriptionArray() As Object = _
  mainAssembly.GetCustomAttributes( _
    GetType(AssemblyDescriptionAttribute), False)
If Not (DescriptionArray Is Nothing) AndAlso (DescriptionArray.Length > 0) Then
    appDescription = _
      (CType(DescriptionArray(0), AssemblyDescriptionAttribute)).Description
End If

�@����ɂ��A��L��ʂ� �̃e�L�X�g��ݒ�ł���B

���A�v���P�[�V�����E�A�C�R��

�@�A�v���P�[�V�����E�A�C�R���̎擾���@�ɂ‚��ẮuTIPS�F���s�t�@�C������A�v���P�[�V�����̃A�C�R�����擾����ɂ́H�v���Q�Ƃ��Ă������������B���ӓ_�Ƃ��ẮA�A�v���P�[�V�����E�A�C�R�����擾����t�@�C���ւ̃p�X���A���̃A�v���P�[�V�������̂ł��邱�Ƃ��B���̃p�X�́AAssembly�I�u�W�F�N�g��Location�v���p�e�B���擾�ł���B

�@��̓I�ɂ́A���̂悤�ȃR�[�h���L�q����΂悢�B

// C#
// �A�v���P�[�V�����E�A�C�R�����擾
Icon appIcon;
SHFILEINFO shinfo = new SHFILEINFO();
IntPtr hSuccess = SHGetFileInfo(
  mainAssembly.Location, 0,
  ref shinfo, (uint)Marshal.SizeOf(shinfo),
  SHGFI_ICON | SHGFI_LARGEICON);
if (hSuccess != IntPtr.Zero)
{
  appIcon = Icon.FromHandle(shinfo.hIcon);
}
else
{
  appIcon = SystemIcons.Application;
}
' VB.NET
' �A�v���P�[�V�����E�A�C�R�����擾
Dim appIcon As Icon
Dim shinfo As New SHFILEINFO()
Dim hSuccess As IntPtr = SHGetFileInfo( _
  mainAssembly.Location, 0, _
  shinfo, Marshal.SizeOf(shinfo), _
  SHGFI_ICON Or SHGFI_LARGEICON)
If hSuccess.Equals(IntPtr.Zero) = False Then
    appIcon = Icon.FromHandle(shinfo.hIcon)
Else
    appIcon = SystemIcons.Application
End If

�@����ɂ��A��L��ʂ� �̃A�C�R���摜��ݒ�ł���B

�o�[�W��������ݒ肷��ɂ́H

�@��͎擾���������̏������̂悤�ȃR�[�h�ɂ��e�R���g���[���ɑ΂��Đݒ肷��Ί������B

// C#
// ���x���ȂǂɃo�[�W���������Z�b�g
pictureBox1.Image = appIcon.ToBitmap();
Text = appProductName + " �̃o�[�W�������";
label1.Text = appCompanyName + " " + appProductName;
label2.Text = "Version " + appVersion;
label3.Text = appCopyright;
label4.Text = appDescription;
' VB.NET
' ���x���ȂǂɃo�[�W���������Z�b�g
pictureBox1.Image = appIcon.ToBitmap()
Text = appProductName & " �̃o�[�W�������"
label1.Text = appCompanyName & " " & appProductName
label2.Text = "Version " & appVersion
label3.Text = appCopyright
label4.Text = appDescription

�@�ȏ�̃R�[�h���e�ō쐬�����T���v���́m�o�[�W�������n�_�C�A���O�́A���̃����N���_�E�����[�h�ł���B

�@���̃T���v���𗘗p���āA���ГƎ��́m�o�[�W�������n�_�C�A���O���쐬���Ăق����BEnd of Article

�J�e�S���FWindows�t�H�[���@�����ΏہF�_�C�A���O�E�{�b�N�X
�g�p���C�u�����FApplication�N���X�iSystem.Windows.Forms���O��ԁj
�g�p���C�u�����FVersion�N���X�iSystem���O��ԁj
�g�p���C�u�����FAssembly�N���X�iSystem.Reflection���O��ԁj
�g�p���C�u�����FAssemblyInformationalVersion�����iSystem.Reflection���O��ԁj
�g�p���C�u�����FAssemblyProduct�����iSystem.Reflection���O��ԁj
�g�p���C�u�����FAssemblyCompany�����iSystem.Reflection���O��ԁj
�g�p���C�u�����FAssemblyCopyright�����iSystem.Reflection���O��ԁj
�g�p���C�u�����FAssemblyDescription�����iSystem.Reflection���O��ԁj
�֘ATIPS�F���[�_���E�_�C�A���O�⃂�[�h���X�E�_�C�A���O��\������ɂ́H
�֘ATIPS�F�A�Z���u���Ƀo�[�W��������ݒ肷��ɂ́H
�֘ATIPS�FC#��VB.NET�ŃL�[���[�h�����ʎq�Ƃ��Ďg�p����ɂ́H
�֘ATIPS�F���s�t�@�C������A�v���P�[�V�����̃A�C�R�����擾����ɂ́H
�@
���̋L���Ɗ֘A���̍����ʂ�.NET TIPS
Visual Studio 2005�Ńo�[�W��������ݒ肷��ɂ́H
�A�Z���u���E�o�[�W�����ƃt�@�C���E�o�[�W��������v������ɂ́H
�A�Z���u���Ƀo�[�W��������ݒ肷��ɂ́H
�����̃v���W�F�N�g�Ńt�@�C�������L����ɂ́H
���s�t�@�C���̃p�X���擾����ɂ́H
���̃��X�g�́A�i���j�f�W�^���A�h�o���e�[�W���J������
�����֘A�L���T���V�X�e�� Jigsaw�i�W�O�\�[�j �ɂ�莩�����o�������̂ł��B
generated by

�u.NET TIPS�v


Insider.NET �t�H�[���� �V���L��
  • ��2��@�Ȍ��ȃR�[�f�B���O�̂��߂� �i2017/7/26�j
    �@�����_���ŋL�q�ł��郁���o�̑����Athrow���Aout�ϐ��A�^�v���ȂǁAC# 7�ɂ͈ȑO�����R�[�h���Ȍ��ɋL�q�ł���悤�ȋ@�\����������Ă���
  • ��1��@Visual Studio Code�f�o�b�O�̊�b�m�� �i2017/7/21�j
    �@Node.js�v���O�������f�o�b�O���Ȃ���AVisual Studio Code�ɓ�������Ă���f�o�b�O�@�\�̊�{�́u�L�v���}�X�^�[���悤
  • ��1��@���ĂȃR�[�f�B���O�̂��߂� �i2017/7/19�j
    �@C# 7�Œlj����ꂽ�V�@�\�̒�����A�u���l���e�����\���̉��P�v�Ɓu���[�J���֐��v���Љ��B�����͕�����₷���R�[�h���L�q����̂Ɏg����
  • Presentation Translator �i2017/7/18�j
    �@Presentation Translator��PowerPoint�p�̃A�h�C���B�v���[���e�[�V�������̎����̕t����A������ł̎��^�����A�X���C�h�̖|����s����
��IT���[���}�K�W���@�V������X�^�b�t�̃R���������[���œ͂��܂��i�����j

���ڂ̃e�[�}

Insider.NET �L�������L���O

�{�� ����