Advanced .NET Framework 2.0 Using C#: Vol 2, Part 3 of 4
Interactive

Advanced .NET Framework 2.0 Using C#: Vol 2, Part 3 of 4

LearnNow Online
Updated Oct 26, 2018

Course description

In this volume, you’ll learn about implementing service processes and application domains in your .NET applications using the System and ServiceProcess namespaces. You’ll see how to take advantage of multi-threading to create fast and efficient processes through the Threading namespace. You’ll learn how to internationalize your .NET application by using the globalization classes. Enhance your user interface with the System.Drawing and System.Text namespaces.

Each LearnNowOnline training course is made up of Modules (typically an hour in length). Within each module there are Topics (typically 15-30 minutes each) and Subtopics (typically 2-5 minutes each). There is a Post Exam for each Module that must be passed with a score of 70% or higher to successfully and fully complete the course.


Meet the expert

Greg Reddick

Gregory Reddick is a consultant who develops applications and websites using .NET. He is an experienced instructor with nearly 20 years of experience teaching instructor-led courses. Greg also worked as a software design engineer on Microsoft Access 1.0.

Video Runtime

134 Minutes

Time to complete

174 Minutes

Course Outline

Module 5

Platform Invoke (28:29)

  • Introduction (00:42)
  • Using Platform Invoke (00:55)
  • PInvoke Process (00:38)
  • PInvoke and Security (00:49)
  • Windows API (01:23)
  • Identifying Functions (01:15)
  • Dumpbin Example (01:24)
  • Creating a Class (00:58)
  • Defining Prototypes (00:18)
  • Specifying the Library Name (00:31)
  • Library Search Order (01:03)
  • Specify Entry Point Name (00:50)
  • Calling by Ordinal (00:44)
  • Specifying the CharSet (01:34)
  • Using the Auto CharSet (01:15)
  • Specifying the Parameters (01:17)
  • Specifying the Return Type (00:23)
  • Demo: GetSystemMetrics (07:38)
  • WinUser.H File (04:22)
  • Summary (00:22)

Passing and Returning Data (21:44)

  • Introduction (00:29)
  • Returning Strings from PInvoke (00:25)
  • Window Handles (01:21)
  • Demo: GetWindowText (03:43)
  • Passing a Structure to PInvoke (00:30)
  • Demo: GetWindowRect (03:41)
  • Using StructLayout Attribute (02:24)
  • Example: RECTUNION (00:44)
  • Byte Aligning Structure (02:45)
  • Callback Functions (01:03)
  • Demo: Callback Function (04:21)
  • Summary (00:13)

Marshalling Data (26:20)

  • Introduction (00:37)
  • Error Handling (Unmanaged) (00:45)
  • Why No GetLastError? (00:43)
  • Using SetLastError Property (00:45)
  • Demo: SetLastError Property (05:26)
  • Marshalling (00:56)
  • Blittable Types (01:00)
  • Using the MarshalAs Attribute (01:16)
  • In and Out Attributes (00:42)
  • More About Attributes (00:53)
  • Examples: PInvoke Calls (01:16)
  • Demo: Byte Size (04:47)
  • Demo: System Menus (06:52)
  • Summary (00:16)
Module 6

Calling COM from .NET (23:45)

  • Introduction (00:34)
  • COM Interop (00:31)
  • COM Components (01:10)
  • Useful Reference Book (00:27)
  • Creating a Runtime Wrapper (00:46)
  • COM Type Libraries (00:24)
  • Create RCW w/VS.NET (00:52)
  • Create RCW w/Tlbimp (00:56)
  • Demo: Create RCW w/VS.NET (01:36)
  • Demo: Create RCW w/Tlbimp (01:02)
  • Fine Tuning the RCW (00:26)
  • Using a COM Library (02:04)
  • Demo: Using a DLL in .NET (01:28)
  • Marshal.ReleaseComObject (00:37)
  • Driving Excel from .NET (01:57)
  • Demo: Driving Excel (07:56)
  • Keeping Excel Invisible (00:29)
  • Summary (00:23)

Calling .NET Assemblies (20:48)

  • Introduction (00:28)
  • Call Managed Code from COM (01:30)
  • COM Friendly Classes (01:11)
  • Create Type Library (00:44)
  • Demo: Credit Card Check (03:55)
  • Code: Credit Card Check (04:33)
  • A .NET Library in VB 6 (03:05)
  • TypeLibConverter Class (00:29)
  • Demo: Assembly to TypeLib (03:00)
  • Demo: TypeLib to Assembly (01:30)
  • Summary (00:19)

Introduction to Reflection (12:53)

  • Introduction (00:31)
  • Overview (00:21)
  • Assembly Class (01:14)
  • Demo: Using Assembly Class (03:19)
  • Assembly Attributes (02:35)
  • Pseudo-Attributes (00:41)
  • Non-Pseudo Attributes (00:27)
  • Retrieving Assembly Attributes (00:22)
  • Demo: Assembly Attributes (02:57)
  • Summary (00:20)
;